水晶报表 .Net 指南

6
在过去的六年中,我们一直在使用.Net和Visual Studio,并且早期开发了许多基于Web的报告应用程序,使用的是与Visual Studio捆绑的Crystal Reports的.Net版本。但我对这个产品并不满意:它似乎非常难以使用和复杂。我们必须进行安全更改,安装各种额外的软件等等。
现在,我们正在转向VS2008和.Net框架的3.5版本,是时候重新开发旧应用程序了。我们的Crystal .Net开发人员已经离职,我面临一个决定:我们是否坚持使用Crystal还是转向其他东西?我们可以使用完整版的Crystal Reports XI。
我们生成从各种数据库中提取的数据的PDF版本。一些应用程序使用内置的报告查看器,但这似乎与网格视图的灵活性重复。我们仍然需要在网格或可下载的Excel格式中生成可打印的PDF。
  • Crystal Reports .Net是否值得坚持,还是我们应该学习如何使用版本XI?
  • 或者,有没有一种简单而低成本的方法来生成PDF报告,而不使用Crystal?
9个回答

4

我有使用CrystalReports(与Visual Studio捆绑的lite版本)、DataDynamics的ActiveReports(4年,完整版本)、Telerik的Reporting(试用版)和DevExpress的XtraReports(最近一年)报告的经验。

我认为(不仅是我 :)),相比这些工具,CrystalReports是最没有效率的工具(对开发者的生产力)。DataDynamics要好得多,但还有一点小问题:(。去年我们决定更换报告套件-我们选择了一个带源代码的XtraReports,我非常满意。价格便宜,没有错误(至少到目前为止:)),支持很好,而且(最重要的是)生产力大大提高。

我推荐使用DevExpress或Telerik的报告工具。


3
我建议使用i-net Clear Reports(曾用名i-net Crystal-Clear)来读取现有的*.rpt文件。它具有更好且易于使用的API(虽然这并不是说太多)。请访问i-net Clear Reports了解更多信息。

2
像你一样,我也曾经有过与Crystal Reports相关的不良经历,我的直觉告诉我要用大写字母和很多感叹号来发布“尽可能避免”的帖子。然而,今天下午我睡了个午觉,所以我会像一个成年人一样发布。
如果你只想将内容转换为PDF格式,那么你可以考虑使用一些PDF小部件,例如ABCPDF等。将格式良好的网页转换为PDF文档相对容易,并且完成后就可以了。
但是,如果你需要紧密的报表格式,请考虑继续使用Crystal Reports--你在该技术上拥有巨大的投资和知识基础。或者,你可以切换到ActiveReports或SQL Server报表服务。
我猜成本/效益分析是重新培训开发团队并投资于新技术的成本。

嗯,重新培训团队的成本很小 - 我们都不太了解CR... 感谢您提供有关PDF软件的指引。 - Ken Ray

2
远离Crystal Reports:只需获取一个优秀的.NET PDF生成器和Excel引擎(如SiberixSpreadsheetGear),并使用自己的数据库代码来填充它们。您可以使用所有强大的.NET功能,包括LINQ,而无需与Crystal Reports运行时及其非常不足的文档和支持进行斗争。

2
我可以建议使用内置的Microsoft报告框架,它能够很好地工作。您可以制作本地报告或基于MS SQL服务器的报告。有一个客户端控件可以显示报告,并且可以导出到PDF和Excel等格式。Visual Studio可以处理堆栈的报告设计。
至于它是否比Crystal Reports更好,我会说试试看,看看你是否喜欢它更好还是更差。我与Microsoft Report Viewer一起工作的时间比Crystal Reports更长,但两者似乎都相当类似。一开始,Crystal Reports似乎是一个更高级的报告工具,但更加复杂。
我不确定如何在Visual Studio之外利用Microsoft Report Viewer基础设施。如果您正在使用Visual Studio,则应该可以在其中找到所有内容,并按照在线帮助说明将这些部分部署到您的服务器上。

2

我使用过DataDynamics的ActiveReports和Crystal Reports。在这两个产品中,基于易用性和未来维护方面,我更推荐使用ActiveReports。


我同意,使用过两者后,我认为ActiveReports是一个更优秀的产品。 - Paul Batum

0

在我看来,你还应考虑其他标准,比如:

  • 软件成本
  • 与你的.NET应用程序的集成
  • API和编程灵活性(话虽如此,总会有“定制”和个性化需求。对于这种情况,开发人员最终会转向编程解决方案而不是开箱即用的解决方案)

根据我的经验(我曾使用过Crystal Reports和SSRS(2005/2008)),尽管Crystal Reports带有友好的API,但它在许多基本标准上失败了,开发人员最终会与软件作斗争。这是基于我对SSRS的经验,开发人员对其更加熟悉。首先,它广泛使用XML,而且使用自定义代码程序集也没有任何问题。

--我想你明白我的意思---

“考虑并评估 SSRS*。如果一开始你还有疑虑,那就进行概念验证,测试你的需求。我有一种感觉,你会对所见到的结果感到满意。

  1. 特别是考虑到您的需求需要使用PDF格式。
  2. 开发人员,尤其是微软专家,会感谢您。
  3. 利用报告的程序化呈现(虽然听起来很花哨,但相信我,它不过是处理API调用)。

例如: public Byte[] Render ( string Report, string Format, string HistoryID, string DeviceInfo, [Namespace].ParameterValue[] Parameters, [Namespace].DataSourceCredentials[] Credentials, string ShowHideToggle, out string Encoding, out string MimeType, out [Namespace].ParameterValue[] ParametersUsed, out [Namespace].Warning[] Warnings out string[] StreamIds); Member of [Namespace].ReportingService )

--- 其中格式将为“PDF”

希望您觉得这个相关。


0
我们在公司也使用Crystal。目前我们使用的是8.5版本,这个版本已经过时并且不再得到SAP的支持。我们最近尝试升级到CRXI,但这需要完全新的API。由于其他优先事项,我们不得不搁置这个努力。在升级过程中,我在许多论坛上找到了CRXI的支持。可以通过谷歌搜索相关信息。
我相信你可以找到一种便宜的方法来生成PDF而不使用Crystal。我相信Adobe免费提供创建部分。建议您访问他们的网站并了解相关信息。
如果您有很多报告正在使用Crystal技术,那么我建议您继续使用Crystal。

0

摆脱Crystal Reports。它们很差劲。

看看SQL Reporting Services。它与.NET非常兼容,使用起来非常好。试试吧。虽然有一定的学习曲线,但这不是常态吗?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接