我需要一个通过我的C#应用程序处理屏幕和打印报告的工具。
我正在寻找简单,标准和强大的功能。
我需要能够让用户能够使用我自己的GUI选择要显示的列,格式化等,并根据他们的选择动态构建报告。 Crystal不适合这里的账单,因为无法动态添加列(并且无法动态调整列宽)。
我正在考虑在我的应用程序中使用带有WebBrowser控件的HTML,但我对打印和打印预览几乎无法控制。
另一个选择是转到.NET 3.5(我使用2.0)并将XAML与Flow Documents一起使用。
你会用什么?
答案 0 :(得分:6)
我们使用SQL报告服务。 HTML报告有它们的位置,但你不能很好地控制格式化。
SQL报告服务摘要:
优点:
基本版免费
包含在SQL快递中
许多出口选项pdf,html,csv等
可以使用许多不同的数据源
公开各种方法的Web服务
SQL标准editon包括一个报表生成器组件,允许用户创建和共享自己的报表
用于查询格式等的许多功能
计划选项
扩展性导入.net框架dll用于自定义功能
熟悉的微软环境
缺点:
设置的额外事项
应用程序和报表服务器之间的无缝身份验证可能会很麻烦,具体取决于您的设置
一点点的学习曲线虽然不太难以接受
报表模型创建者需要一些工作并且不会自动执行a-z字段
我听说过关于DevXpress的好东西,所以值得深入研究。
我在大约5年前使用过Crystal,并且记住它是一种痛苦的设置并且是明智的许可证。
答案 1 :(得分:2)
查看Studio 2008 / .NET 3.5中的Report Viewer内容
这个神奇的网站有完整的独家新闻: GotReportViewer
这是一个很好的内置报告系统,可以显示报告和打印。它并没有像Crystal或SQL Reporting Services那样完整。如果您只需要一些轻量级报告,那么您无法超越价格。
答案 2 :(得分:1)
Crystal =占地面积大,部署庞大,快速,良好的设计和支持 MS ReportViewer =占地面积小,速度慢,设计师差,支持..好吧,不是那么容易在reportviewer之后搜索,一个名字都用......叹息。
答案 3 :(得分:1)
我们在这里使用ActiveReports.net。他们很好并且倾向于很好地完成工作,但我不确定他们是否符合您对“动态”的定义。但你几乎可以让他们通过代码做任何事情。
答案 4 :(得分:0)
我目前正在考虑将DevXpress XtraReports作为CR的替代品。到目前为止,我喜欢我所看到的。
答案 5 :(得分:0)
SQL Reporting Services可能不够灵活,因为您没有真正获得深层次的代码操作。
活动报告让你进入绑定事件并几乎做任何你想做的事情,但是有一些活动报告的小错误(比如无法绑定到数据表的默认视图)这会让它变得很痛苦。除此之外,它非常灵活。
XtraReports非常棒,但它们比Active Reports贵很多。话虽如此,他们的支持非常棒,而且报告包很坚固。如果可能的话,我会考虑为他们分钱。