我想向.NET应用程序添加报告功能。我的数据源只是应用程序的数据模型,即一堆对象,它们可能是从任何东西(不一定是数据库)生成或加载的。

最初的计划是从这些对象生成报告数据XML文件,然后使用XSLT将其转换为XHTML报告文件。然后可以使用浏览器控件将报告显示在应用程序中。

但是,我注意到存在Microsoft.Reporting。* namespace ,从我尝试过的 namespace 来看,那里的类和控件似乎也可以处理我的报告。改用它是一个好主意吗?与XML/XSLT方法相比,它会节省工作量吗?我可能会遇到Microsoft Reporting框架的哪些限制(如果有)?

最佳答案

需要考虑的几件事。

1)Reporting Services是Sql Server的一部分,因此如果您选择该路线,则可能会遇到额外的许可证问题。

2)Reporting Services可以提供网页,也可以在WinForms中使用完整的页面,排序,子报表,总计等功能-在XSL中这确实很难。它也可以在打印机上很好地播放。

3)Reporting Services附带一个WYSIWYG编辑器来生成报告。无论如何它都不是完美的,但是比手工制作容易得多。

4)使用XSL创建XHTML可能会对性能产生重大影响。 XSL适用于整个XML Dom,如果要处理多页报表,则可能是一个很大的文档。我希望Reporting Services可以更快地工作。

5)Reporting Services可以利用整个.Net,因此您可以免费获得许多其他功能。

除非您的报告要求非常简单,否则使用Reporting Services可以节省所有时间。不过,它并不那么有趣。

关于xml - Microsoft.Reporting。*与XML/XSLT,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/479390/

10-13 06:52