代码之家  ›  专栏  ›  技术社区  ›  Unsliced

重构Crystal报告:是否要、要做什么以及为什么?

  •  0
  • Unsliced  · 技术社区  · 15 年前

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

    因此,我们喜欢Crystal Reports是稳定的,我们的应用程序能够可靠地生成这些报告,PDF输出是一致的,并且当Crystal Reports模板得到批准和设置时,它就能正常工作。

    再加上Crystal Reports是一项相对罕见的技能,而且没有人愿意承认这一点,我们正试图想出其他解决方案。

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

    • 如果数据访问层的格式良好,那么是否可以通过Excel服务生成图形,然后将其作为图形导入框架模板?克里斯托,另一个-有人试过这样的吗?
    • 是否有任何布局工具(最好是带有.NETAPI)可用于在过去被称为桌面发布的内容?如果我们有图形/表格/其他对象作为图像,然后可以自动渲染,

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

    2 回复  |  直到 15 年前
        1
  •  2
  •   dotjoe    15 年前

    那么你对Crystal还有什么问题?听起来你想让用户处理报告…(难道我们都不想)。问题是他们永远不想使用提供的任何数据模型。必须有人知道如何查询数据库。您已经通过使用存储过程实现了这一点。也许让一些用户学习crystal的基本原理(分组、排序、求和等),然后您编写存储过程,他们用crystal对其进行格式化。这样你就可以绕过crystal最大的障碍,也就是在crystal中进行表连接。

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

    我不想保护Crystal但如果它没坏。。。

        2
  •  1
  •   Community Egal    7 年前

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

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

    它比Crystal Reports快了很多,尤其是在开发方面,我通常可以让他们给我一个Word文档,描述他们希望报告看起来像什么,将其导出为HTML,清理干净,然后将其用作XSL生成内容的模板。

    它远没有Crystal Reports功能齐全,但对于我们需要的东西(X射线、实验室报告和工作指令),它是完美的。