按页面将Crystal Crystal报表拆分为单独的文件

时间:2014-06-16 04:30:04

标签: c# winforms crystal-reports

我试图按照各自的字段按页面和名称将多页水晶报告分成多个文件。我一直在使用来自this question的代码,但我遇到了所有类型的SAP错误。是不是有一种简单的迭代方式,比如:

foreach(var page in CrystalReport)
{
    report.ExportTiDisk(ExportFormatType.WordForWindows, page.[NameField]);
}

最糟糕的情况我可以使用Word API执行此操作,但另一种蠕虫我不会打开。

提前谢谢

2 个答案:

答案 0 :(得分:2)

亲爱的,请检查代码。

为什么你需要在多个文件中导出,这是不好的,因为假设你有一个包含300页结果的报告,那么你是否认为要导出300个文件并且客户要检查每个文件&每个文件。再想想。

仍然是解决方案,请参阅以下VB.Net代码以导出为单独的pdf文件。

Dim rdoc As New ReportDocument    
'------------------------------------    
'Add your code to set rdoc object    
'--------------------------------------    
Dim exportOpts As ExportOptions = New ExportOptions()
Dim pdfRtfWordOpts As PdfRtfWordFormatOptions = ExportOptions.CreatePdfRtfWordFormatOptions()
Dim destinationOpts As DiskFileDestinationOptions = ExportOptions.CreateDiskFileDestinationOptions()
For li_count As Integer = 1 To pagecount
    pdfRtfWordOpts.FirstPageNumber = li_count
    pdfRtfWordOpts.LastPageNumber = li_count
    pdfRtfWordOpts.UsePageRange = True
    exportOpts.ExportFormatOptions = pdfRtfWordOpts
    exportOpts.ExportFormatType = ExportFormatType.PortableDocFormat

    destinationOpts.DiskFileName = "D:\report File" & li_count & ".pdf"
    exportOpts.ExportDestinationOptions = destinationOpts
    exportOpts.ExportDestinationType = ExportDestinationType.DiskFile
    rdoc.Export(exportOpts)

Next

参考链接export in multiple file

您尚未编写CR版本,因此请参阅此链接,该链接也说明无法在cr-2008中导出多个文件。

http://social.msdn.microsoft.com/Forums/en-US/f85e167d-edb3-44d0-82fc-2d2b6f92f57b/how-do-i-export-multiple-pdf-files-from-a-single-crystal-report-ie-a-pdf-file-for-each?forum=vscrystalreports

http://scn.sap.com/thread/1132776

答案 1 :(得分:1)

在多个文件中拆分报表的过程称为突发。您可以按组拆分,而不是按页面拆分。但是,按组拆分将允许您根据数据进行拆分,而不是像页码这样的机械原因。因此,如果您的客户拥有更多数据,并且打印在2页上,则报告将正确分配,此客户生成的文件也将为2页。爆破有点复杂,但市场上很少有工具可以做到这一点。观看此视频: http://www.r-tag.com/Pages/Preview_Bursting.aspx 我相信此视频中的工具是免费的。