.NET Winforms应用程序中的报告

时间:2020-03-06 14:58:24  来源:igfitidea点击:

我正在编写Winforms应用程序,并且一直在编写这些糟糕的HTML报告,在其中设置了模板并使用String.Replace将变量放入模板中,然后将结果输出到WebBrowser控件。我真的不喜欢这样的设置。

我很希望能够将ASP.NET用于我的报告,但是我的客户不想在要安装它的所有计算机上都运行IIS,因此这不是一个选择。

解决方案

虽然我没有使用它,但我听到了很多Telerik报告的播客广告。可能值得一看。看起来很甜蜜。

我们是否尝试过reportviewer控件?客户将对精美的新报告感到满意。它是基于模板的,可以包含来自数据库或者代码数据的数据,可以使用参数,图像,并且结果可以导出到Excel或者PDF。

此外,该控件还具有一些基本功能,例如分页,缩放,打印,查找...

为什么需要ASP.NET?我没有看到,它能带来什么变化。也许我们可以更轻松地呈现HTML,但是它仍然不是"真实的"报告。

我们可以使用Visual Studio中包含的Crystal Reports版本,并将输出保存到.PDF文件,该文件不会太笨拙以至于无法从浏览器中读取。 (那是我在上一份合同中所做的)

如前所述,将报告查看器与客户端报告一起使用。我们可以像创建sql报表服务一样创建报表,除了不需要sql server(也不需要asp.net)。另外,我们对它们有完全的控制权(如何显示,如何收集数据,在何层中生成数据,等等)。我们还可以导出为PDF和excel。

如果我们对客户端报告感兴趣,我建议所有人阅读这本书,这是一本很棒的书。它提供了大量有用的信息,并提供了许多不同的方案和使用客户端报告的方式。

http://www.apress.com/book/view/9781590598542

我们可能会研究Cassini-一个免费的ASP.NET Web服务器组件,可以直接将其嵌入WinForms应用程序中。 UltiDev版本(链接)基于Microsoft在.NET 1.0中发布的代码,该代码也用于Visual Studio 2005+ Development Web Server。

为什么不使用xsl生成html报告?比执行字符串替换要好得多。

对于超出VS中仅数据集的reportviewer的高级报表解决方案,我们应考虑使用Data Dynamics报表

它提供了SSRS中的所有功能,并添加了主报表,主题,日历数据区域,数据可视化(数据栏,迷你图,Iconset,ColorScale等),完整的对象模型,以实现最大的编程灵活性,免版税的最终用户报表设计器,条形码报告项目,Excel模板导出和数据合并等等。我们可以从Data Dynamics(现为GrapeCity)下载试用版,并以少量报告进行尝试,我们不会感到失望。