我正在运行以下代码:
ReportDocument crystalReport = new ReportDocument();
crystalReport.Load(reportPath);
DataTable dtReportData;
DbUtils.GetSqlResult(dataQuery, out dtReportData);
crystalReport.SetDataSource(dtReportData);
var crDiskFileDestinationOptions = new DiskFileDestinationOptions();
var crFormatTypeOptions = new PdfRtfWordFormatOptions();
crDiskFileDestinationOptions.DiskFileName = pdfFilePath;
crystalReport.PrintOptions.PaperOrientation = PaperOrientation.Landscape;
var crExportOptions = crystalReport.ExportOptions;
{
crExportOptions.ExportDestinationType = ExportDestinationType.DiskFile;
crExportOptions.ExportFormatType = ExportFormatType.PortableDocFormat;
crExportOptions.DestinationOptions = crDiskFileDestinationOptions;
crExportOptions.FormatOptions = crFormatTypeOptions;
}
crystalReport.Export(); //PROGRAM FAILS HERE WHEN THE DATATABLE CONTAINS 900 OR MORE ROWS
crystalReport.Close();
当尝试向pdf导出一个报告时,它失败了,该报告将数据源作为一个包含900多行的表。例外是:
报告应用程序服务器失败
堆栈跟踪是:
在 CrystalDecisions.ReportAppServer.ConvertDotNetToErom.ThrowDotNetException(例外 吃 CrystalDecisions.ReportSource.EromReportSourceBase.ExportToStream(ExportRequestContext reqContext)at CrystalDecisions.CrystalReports.Engine.FormatEngine.ExportToStream(ExportRequestContext reqContext)at CrystalDecisions.CrystalReports.Engine.FormatEngine.Export(ExportRequestContext reqContext)at CrystalDecisions.CrystalReports.Engine.FormatEngine.Export()at CrystalDecisions.CrystalReports.Engine.ReportDocument.Export()
知道如何解决这个问题吗?
的更新 的
使用Crystal Reports Viewer时,我可以将报表导出为PDF,同时从Crystal Reports Designer执行相同操作会导致错误。在导出水晶报表对象时,有没有一种以编程方式使用查看器库的方法?