【问题标题】:Refactoring Crystal Reports: whether to, to what and why?重构Crystal Reports:是否要、要什么以及为什么?
【发布时间】:2009-03-30 10:01:48
【问题描述】:

报表设计、生成和维护并不难,但很乏味。我们在 Crystal Reports XI 中有许多旧版(不同程度的旧版)报表。这些是为 A4/PDF 设计的 - 不一定是印刷的,但具有可预测的布局,我们不可能很快淘汰它们。

所有都连接到现有的存储过程 (SQL Server 2005) 以获取它们的数据。花了很多时间让这些报告看起来就这样。报告的实际创建主要通过 .NET/C# API 完成并导出为 PDF。有许多本地开发和维护的应用程序是稳定的并且可以很好地处理这个过程。

因此,我们喜欢 Crystal Reports 稳定、我们的应用程序可靠地生成这些报告、PDF 输出一致以及当 Crystal Reports 模板获得批准和设置后,它就可以正常工作的事实。

但这种情况存在一些大问题。最大的问题是对底层报告模板本身的任何更改都是一个巨大的痛苦。使 Crystal Reports 模板达到用户满意的程度是一件非常麻烦的事情,并且可能涉及 DTP/图形/数据库/协调和无数其他小问题的长期迭代。

再加上 Crystal Reports 是一种相对稀有的技能,而且没有人愿意承认,我们正试图想出替代解决方案。

我已经开始考虑一些想法 - 欢迎任何其他想法!

  • Crystal Reports 2008 与 XI 相比有什么好处吗?
  • 其他人是如何管理从 CR 迁移出来的?又该做什么?
  • 鉴于数据访问层结构良好,是否可以通过 Excel 服务生成图形,然后将它们作为图形导入框架模板?水晶,另一个 - 有没有人尝试过这样的事情?
  • Reporting Services 是否更好? (我们有一些 RS 技能,但同样,人们不愿意真正承认知道任何事情的另一件事。)
  • 是否有任何可用的布局工具(最好使用 .NET API)用于在过去称为桌面出版的内容?如果我们有图形/表格/其他对象作为可以自动渲染的图像,

理想情况下,我希望转向一种解决方案,让用户可以更好地控制底层更改,以及是否可以在我们可以提供给他们的工具内以编程方式处理这件事,这样我就可以编码而不是编辑 Crystal Reports模板。

【问题讨论】:

    标签: layout crystal-reports reporting graphing


    【解决方案1】:

    那么您在使用 Crystal 时还有哪些其他问题?听起来您希望用户处理报告......(不是我们所有人)。问题是他们从不想使用提供的任何数据模型。必须有人知道如何查询数据库。通过使用存储过程,您已经拥有了它。也许让几个用户学习基本的水晶原理(分组、排序、求和等),然后你编写存储过程,然后他们用水晶对其进行格式化。这样,您就可以绕过水晶的最大绊脚石,即在水晶中进行表格连接。

    我有水晶知识并且认为它相当容易使用。不过我不会称它为 Skillz,更像是我知道它能做什么和不能做什么,这样我可以为自己节省很多时间。

    我不是要保护水晶,但如果它没有坏的话……

    【讨论】:

    • +1 "必须有人知道如何查询数据库。"这通常是您在让用户撰写报告时面临的最大障碍。
    • 你是对的——它没有坏掉。问题是,Crystal 并不难,只是不是很常见……而且我是唯一能够修复它的人。一方面,这是很好的工作保障。另一方面,这是一个单点故障......
    • 大声笑 - 非常真实的未切片。我一直试图在我的工作中典当水晶工作......我认为人们开始避开我了。
    【解决方案2】:

    我们最近在 XP 上升级到了 VS 2008。我们的用户仍在 Win2K 上运行 .NET 2.0 框架,而且我们近期不会在公司范围内进行升级。直到我们从 2005 年升级到 2008 年才发现,VS 2008 附带的 Crystal Reports 可再发行组件只能在 XP 或更高版本上运行。哎呀。因此,我们现在无法编辑旧报告,因为 CR 会自动将其更新到新版本。

    我最终要做的是使用我们现有的XMLSerializer,构建一个保存报告数据的类(本质上是大量字符串和 List 属性),并将其序列化为 XML 文件。插入将其转换为 HTML/CSS 的 XSL 样式表声明,并在 IE 中打开它。

    它最终比 Crystal Reports 快了很多,尤其是在开发方面,我通常可以让他们给我一个 Word 文档,无论他们希望报表看起来如何,将其导出为 HTML,然后清理它up,然后将其用作 XSL 生成的模板。

    它的功能远不及 Crystal Reports,但对于我们需要的东西(XRay 和实验室报告和工作订单)来说,它是完美的。

    【讨论】:

    • 这很有趣 - 谢谢。对于一些需要生成的遗留报告,我们绑定到 Crystal 中……但对于新报告。嗯,这可能是调查的一个选项。
    猜你喜欢
    • 2022-01-22
    • 1970-01-01
    • 2019-03-23
    • 2011-07-21
    • 2015-07-04
    • 2011-10-22
    • 2014-06-01
    • 2021-05-11
    • 1970-01-01
    相关资源
    最近更新 更多