C# 按页面将Crystal报告拆分为单独的文件

C# 按页面将Crystal报告拆分为单独的文件,c#,winforms,crystal-reports,C#,Winforms,Crystal Reports,我正在尝试将多页crystal报表按页面和名称从各自的字段中拆分为多个文件。我一直在玩弄源代码,但是我遇到了所有类型的SAP错误。有没有一种简单的迭代方法,比如: foreach(var page in CrystalReport) { report.ExportTiDisk(ExportFormatType.WordForWindows, page.[NameField]); } 最糟糕的情况是,我可以用API这个词来做这件事,但我不想打开另一罐蠕虫 提前谢谢你亲爱的,请检查代码 为

我正在尝试将多页crystal报表按页面和名称从各自的字段中拆分为多个文件。我一直在玩弄源代码,但是我遇到了所有类型的SAP错误。有没有一种简单的迭代方法,比如:

foreach(var page in CrystalReport)
{
    report.ExportTiDisk(ExportFormatType.WordForWindows, page.[NameField]);
}
最糟糕的情况是,我可以用API这个词来做这件事,但我不想打开另一罐蠕虫


提前谢谢你

亲爱的,请检查代码

为什么您需要导出多个文件,这是坏的,因为假设您有一个300页的结果报告,然后您认为要导出300个文件和客户检查每个文件。再想想

这里仍然是解决方案,请参考下面的VB.Net代码导出为单独的pdf文件

Dim rdoc作为新报告文档
'------------------------------------    
'添加代码以设置rdoc对象
'--------------------------------------    
Dim EXPORTPOPTS As EXPORTPOPTIONS=新EXPORTPOPTIONS()
Dim pdfRtfWordOpts作为PdfRtfWordFormatOptions=ExportOptions.CreatePdfRtfWordFormatOptions()
Dim DestinationOptions As DiskFileDestinationOptions=ExportOptions.CreateDiskFileDestinationOptions()
对于li_,计数为整数=1到pagecount
pdfRtfWordOpts.FirstPageNumber=li\u计数
pdfRtfWordOpts.LastPageNumber=li\U计数
pdfRtfWordOpts.UsePageRange=True
exportOpts.ExportFormatOptions=pdfrtWordopts
exportOpts.ExportFormatType=ExportFormatType.PortableDocFormat
destinationOpts.DiskFileName=“D:\report File”&li\u count&“.pdf”
exportOpts.ExportDestinationOptions=destinationOpts
exportOpts.ExportDestinationType=ExportDestinationType.DiskFile
rdoc.导出(导出选项)
下一个
参考链接

您还没有编写您的CR版本,因此请参考此链接,该链接还表示,无法在CR-2008中导出多个文件


将报表拆分为多个文件的过程称为爆破。您可以按组拆分,而不是按页拆分。但是,按组拆分将允许您根据数据进行拆分,而不是按页码等机械原因进行拆分。因此,如果您有一个客户的数据较多,并且打印在2页上,则报告将正确打印,并且为该客户生成的文件也将为2页。Bursting的开发有点复杂,但市场上几乎没有工具可以做到这一点。查看此视频:
我相信本视频中的工具是免费的。

它们只有5-10页,每一页都可以通过电子邮件发送给单独的客户端,因此需要拆分。谢谢你不要问“为什么”——如果他们需要的话。在我们的例子中,有一个报告可以为大约25名员工生成生产力报告,我们希望每个人都能够访问他们的报告,而不必查看任何其他人的信息。上面发布的代码工作正常。关于ISV试图兜售其产品的crystal reports,发布了大量虚假信息。我为你感到高兴。当客户信息出现在多个页面上时,您是否检查了上述代码?如前所述,我的帖子中的链接指向一个免费产品。所以我不明白你的意思。