点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
您好,
.rpt文件版本:
希捷信息桌面7
当前开发环境:
Windows 7(操作系统)
Visual Studio 2010(最终版)
.Net Framework 4的SAP Crystal Report运行时
Visual Studio 2010的Crystal Report加载项
问题陈述:
我在(Seagate Info Desktop 7)中生成了Crystal Report文件(.rpt),需要将其转换为PDF文件。 尝试以下代码段将其转换为PDF文件。
代码段:
ReportDocument cryRpt =新的ReportDocument();
cryRpt.Load(@" D:\〜CIHRI78.RPT");
尝试
{
ExportOptions CrExportOptions;
DiskFileDestinationOptions CrDiskFileDestinationOptions = new DiskFileDestinationOptions();
PdfRtfWordFormatOptions CrFormatTypeOptions = new PdfRtfWordFormatOptions();
CrDiskFileDestinationOptions.DiskFileName = @" D:\〜 CIHRI78.pdf ";
CrExportOptions = cryRpt.ExportOptions;
{
CrExportOptions.ExportDestinationType = ExportDestinationType.DiskFile;
CrExportOptions.ExportFormatType = ExportFormatType.PortableDocFormat;
CrExportOptions.DestinationOptions = CrDiskFileDestinationOptions;
CrExportOptions.FormatOptions = CrFormatTypeOptions;
}
cryRpt.Export(); //<-这里引发异常。
cryRpt.Close();
cryRpt.Dispose();
}
最终
{
cryRpt = null;
CrExportOptions = null;
CrDiskFileDestinationOptions = null;
CrFormatTypeOptions = null;
}
异常详细信息:
HasRecords ='cryRpt.HasRecords'引发了类型为'CrystalDecisions.CrystalReports.Engine.ParameterFieldCurrentValueException'的异常
{CrystalDecisions.CrystalReports.Engine.ParameterFieldCurrentValueException:缺少参数值。 ---> System.Runtime.InteropServices.COMException(0x8004100E):缺少参数值。
在CrystalDecisions.ReportAppServer.Controllers.ReportSourceClass.Export(ExportOptions pExportOptions,RequestContext pRequestContext)
在CrystalDecisions.ReportSource.EromReportSourceBase.ExportToStream(ExportRequestContext reqContext)
---内部异常堆栈跟踪的结尾---
在CrystalDecisions.ReportAppServer.ConvertDotNetToErom.ThrowDotNetException(Exception e)
在CrystalDecisions.ReportSource.EromReportSourceBase.ExportToStream(ExportRequestContext reqContext)
在CrystalDecisions.CrystalReports.Engine.FormatEngine.ExportToStream(ExportRequestContext reqContext)
在CrystalDecisions.CrystalReports.Engine.FormatEngine.Export(ExportRequestContext reqContext)
在CrystalDecisions.CrystalReports.Engine.FormatEngine.Export()
在CrystalDecisions.CrystalReports.Engine.ReportDocument.Export()
在JoaoLivio.RPToCSV.Form1.Form1_Load(对象发送者,EventArgs e),位于D:\ WorkingFolder \ SeagateReports \ ConvertPDF.cs:line 83}
其他观察结果:
在"信息分析器"的"测试服务器"中打开相同的.rpt文件时,将打开该文件,在报告中显示数据。 当我尝试用C#代码打开/或在Visual Studio中打开并在"预览"模式下查看时,同一个文件要求提供一些参数。
请帮助我找出我不正确的地方。
谢谢
Gokul
在WIKI页面上,我有一个参数测试应用程序,尝试一下。
https: //wiki.scn.sap.com/wiki/display/BOBJ/Crystal+Reports%2C+Developer+for+Visual+Studio+Downloads
Don
由于报表包含参数,因此您必须将参数值传递给代码。
您可以通过打开以下代码来检查参数类型 在CR设计器中创建报表并编辑参数。
还要检查是否已为此报表选中"使用报表保存数据"选项。
您可以通过开发一个 示例应用程序只是为了加载和查看报告。
报告首先提示输入参数值,然后可以从查看器中导出它。
使用代码遵循相同的工作流程 ,传递数据库登录信息,输入参数值,然后导出/查看/打印报告。
谢谢
Bhushan。
嗨 Gokul,
感谢您提供详细的信息。
您所说的"报表在尝试查看时会提示输入参数",这意味着报表中包含的参数值 应该提供。
由于报表无法填充参数,因此代码在导出时失败
看看示例应用程序,以通过代码将参数值传递给报表。
http://www.sdn.sap.com/irj/boc/samples?rid=/library/uuid/ 5050d3d0-19dd-2d10-ffb2-ddcd30a3e655
首先,将参数值传递给报表,然后将其导出。
谢谢,
Bhushan
如何通过代码将参数值传递给报表。
我无法访问给定的链接
请协助
一周热门 更多>