我想向.NET应用程序添加报告功能.我的数据源只是应用程序的数据模型,即可能已经从任何东西生成或加载的一堆对象(不一定是来自数据库).
最初的计划是从这些对象生成报告数据XML文件,然后使用XSLT将其转换为XHTML报告文件.然后,可以使用浏览器控件在应用程序中显示该报告.
但是,我注意到存在Microsoft.Reporting.*命名空间,并且根据我的尝试,似乎那里的类和控件也可以处理我的报告.改为使用它会是个好主意吗?与XML / XSLT方法相比,它是否可以节省工作量?我可能会遇到哪些限制(如果有)的Microsoft报告框架?
需要考虑的几件事情.
1)Reporting Services是sql Server的一部分,因此如果您走这条路线,可能会有额外的许可证问题.
2)Reporting Services可以提供网页,或者在WinForms中使用完整的分页,排序,子报告,总计等等 – 这在XSL中确实很难.它也可以很好地与打印机配合使用.
3)报告服务附带一个WYSIWYG编辑器来构建报告.它无论如何都不是完美的,但比手工制作容易得多.
4)使用XSL创建XHTML可以实现真正的性能. XSL适用于整个XML Dom,如果您正在处理多页报告,那么这可能是一个大文档.我希望Reporting Services能够更快地运行.
5)Reporting Services可以利用整个.Net,因此您可以免费获得许多其他功能.
除非您的报告要求非常简单,否则使用Reporting Services可以节省您的时间.虽然它不那么有趣.