我有一个C#WinForms应用程序,它使用Telerik.Reporting dll生成.xls类型的报告。
我们正在使用Angular开发电子应用程序的增强版本。在从旧产品过渡到新产品的过程中,我们使用EdgeJ来访问报告功能。也就是说,我们在遗留应用程序和电子应用程序中运行完全相同的C#代码。
问题是Telerik.Reporting RenderReport方法在应用程序的电子版本中引发了异常,“XLS呈现格式不可用”,但在WinForms版本中没有。以下是相关的代码行:
var reportSource = new InstanceReportSource { ReportDocument = rpt };
result = processor.RenderReport("XLS", reportSource, null);
rptStream = new FileStream(path + "\\" + rpttmpXlsPath, FileMode.Create);
rptStream.Write(result.DocumentBytes, 0, result.DocumentBytes.Length);
我们无法弄清楚为什么会这样。以下是我们所知道的:
答案 0 :(得分:2)
Telerik Reporting引擎在无法解析目标格式所需的依赖关系时抛出此类异常,但XLS导出例程嵌入在Telerik.Reporting.dll中,因此您不太可能#&# 39;重新缺少一个程序集文件。与XLSX渲染相比,XLS渲染也没有任何外部依赖性,这需要DocumentFormat.OpenXml.dll。您必须收集有关异常的更多信息,以查看导致问题的原因。通常有助于将trace listener附加到您的应用程序并检查其日志以查看异常堆栈跟踪或其他重要细节。另一个选择是使用显示装配绑定信息的Assembly Binding Log Viewer,看看它的日志是否会给你任何关于发生了什么的提示。请注意,产品要求包括.NET Framework 4+完整配置文件,并考虑它是否适用于您的方案。