我有 2 个应用程序:
- 1. 为报告准备数据的应用程序 - C# (.Net 1.1)
- 2.显示报告的应用程序 - C++(也许)
第一个应用程序通过命令行向第二个应用程序发送参数,例如报告文件名,报告参数。然后第二个应用程序显示准备好的报告。
现在我想更改一些报告字段。我在第一个应用程序中的代码:
ReportDocument rDoc = new ReportDocument();
rDoc.Load(@"D:\reports\report_1.rpt");
rDoc.Database.Tables[0].Location = "newDBName.schema.oldTableName";
rDoc.SaveAs(@"D:\reports\report_1_modif.rpt",ReportFileFormat.VSNetFileFormat);
我想修改 rpt 文件,因为我想从存档数据库中获取数据。“CrystalDecisions.CrystalReports.Engine”参考版本为9.1.5000.0。因此,由于版本不兼容,第二个应用程序无法使用修改后的 rpt 文件。第二个应用程序只能使用 8.5 文件格式。
当我在 CR Developer 中打开 rpt 文件时,我可以手动更改位置并以 8.5 文件格式保存。在这种情况下,第二个程序通常适用于修改后的文件。
所以我的问题是:“如何在 .Net C# 中打开 rpt 文件 8.5,用另一个名称修改并保存为 8.5 格式?”。也许我应该使用一些非托管代码?
Crystal Reports 8.5 于 2001 年发布。.Net 于 2002 年发布。