我试图按照各自的字段按页面和名称将多页水晶报告分成多个文件。我一直在使用来自this question的代码,但我遇到了所有类型的SAP错误。是不是有一种简单的迭代方式,比如:
foreach(var page in CrystalReport)
{
report.ExportTiDisk(ExportFormatType.WordForWindows, page.[NameField]);
}
最糟糕的情况我可以使用Word API执行此操作,但另一种蠕虫我不会打开。
提前谢谢
答案 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
您尚未编写CR版本,因此请参阅此链接,该链接也说明无法在cr-2008中导出多个文件。
答案 1 :(得分:1)
在多个文件中拆分报表的过程称为突发。您可以按组拆分,而不是按页面拆分。但是,按组拆分将允许您根据数据进行拆分,而不是像页码这样的机械原因。因此,如果您的客户拥有更多数据,并且打印在2页上,则报告将正确分配,此客户生成的文件也将为2页。爆破有点复杂,但市场上很少有工具可以做到这一点。观看此视频: http://www.r-tag.com/Pages/Preview_Bursting.aspx 我相信此视频中的工具是免费的。