我们将使用什么报告工具?
我需要一个可以通过我的Capplication处理屏幕报告和打印报告的工具。
我正在寻找简单,标准和强大的功能。
我需要使用户能够使用自己的GUI选择要显示,格式化等的列,并根据他们的选择动态生成报告。 Crystal不适用于此处,因为无法即时添加列(并且无法即时调整列宽)。
我正在考虑在应用程序中使用HTML和WebBrowser控件,但是对打印和打印预览的控制很少。
另一个选择是转到.NET 3.5(我正在使用2.0),并将XAML与Flow Documents一起使用。
你会用什么?
解决方案
Crystal =占用空间大,部署量大,速度快,优秀的设计人员和支持人员
MS ReportViewer =占用空间小,速度慢,设计者差,支持能力强..嗯,在reportviewer之后搜索起来并不那么容易,一个名字全用..
我们在这里使用ActiveReports.net。他们还可以,可以很好地完成工作,但是我不确定它们是否适合我们对"动态"的定义。但是我们几乎可以使他们通过代码执行任何操作。
我目前正在考虑将DevXpress XtraReports替换为CR。到目前为止,我喜欢我所看到的。
我们使用SQL报告服务。 HTML报表占有一席之地,但是我们对格式的控制却很少。
SQL报表服务摘要:
好处:
基本版本是免费的
包含在SQL Express中
许多导出选项pdf,html,csv等
可以使用许多不同的数据源
Webservice公开了各种方法
SQL标准编辑器包括一个报告生成器组件,允许用户创建和共享自己的报告
许多功能用于查询格式等
计划选项
可扩展性导入.net框架dll以实现自定义功能
熟悉的Microsoft环境
缺点:
额外的设置
应用程序和报表服务器之间的无缝认证可能会很麻烦,具体取决于设置
一点点学习曲线,尽管难度不大
报表模型创建者需要做一些工作,并且不会自动将a-z字段
我听说过有关DevXpress的好消息,因此可能值得研究。
大约5年前,我使用了Crystal,但记得安装起来很麻烦,而且许可成本很高。
SQL Reporting Services可能没有足够的灵活性来满足需求,因为我们并未真正获得深层次的代码操作。
活动报告使我们可以进入绑定事件,并且几乎可以做任何我们想做的事,但是活动报告有几个小错误(例如无法绑定到数据表的默认视图),这很麻烦。除此之外,它还具有很高的灵活性。
XtraReports很棒,但是比Active Reports要贵得多。话虽如此,他们的支持非常棒,报告包也非常可靠。如果可以的话,我会考虑为他们分担现金。
在Studio 2008 / .NET 3.5中查看Report Viewer的内容
这个惊人的网站提供了完整的独家新闻:
GotReportViewer
这是一个很好的报告系统构建,可以显示报告和打印。它并没有像Crystal或者SQL Reporting Services那样全面发展。如果我们需要的只是一些轻量级的报告,那么我们将无法与之媲美。