3

好的,所以我必须从我的数据库中生成非常复杂的报告。
如果我要使用 SQL 来完成,查询本身会很复杂,并且稍后我将不得不对结果进行更多操作,代码级别。
Jasper Reports/Crystal Reports 等库如何在开发此类报表时节省我的时间?
他们会给我什么?

4

9 回答 9

3

这些工具可能不一定会为您节省大量编写 SQL 的时间,但它们会为您的客户提供清晰的数据展示。

于 2010-03-12T14:14:53.193 回答
2

在编写查询时,他们不会给你太多。一些商业智能工具(尽管我所知道的没有一个开源工具)为您提供了点击查询的基础设施。开发人员仍然需要进行艰苦的设置工作,特别是对于复杂的查询,以便为用户提供足够简单的数据视图。

这些工具为您提供的是一个引擎来处理许多演示问题,例如格式化、分页符、转换为多种格式(HTML、PDF 等)、运行、存储和检索报告以及其他内容那个区域。

于 2010-03-12T14:18:51.557 回答
1

无论您使用什么工具来生成报告,您都必须编写复杂的 SQL 或从数据中定义视图来生成报告。使用这些工具的好处是

  • 可以生成多种类型的报告格式(PDF、EXCEL、TEXT..)
  • 消除了许多日常琐事,例如设置日期/时间戳、标题格式..
  • 在多个报告页面之间保持一致性,这通常有点难以实现
  • 创建一个可以重用的模板布局和一些花哨的功能,如子报告和在某些情况下简单的类型转换..
  • ETC...
于 2010-03-12T14:23:28.363 回答
1

如果我要使用 SQL 来完成,查询本身会很复杂,并且稍后我将不得不对结果进行更多操作,代码级别。

Jasper 在生成报告之前/期间可以非常有效地处理数据。根据设计,JasperReports 中的每个变量、参数或字段都可以是 Java 表达式,想象一下可能性。

Jasper Reports/Crystal Reports 等库如何在开发此类报表时节省我的时间?

Jasper 和 Crystal 都可以让您从查询中提取字段,Jas​​per 还可以让您从 XML 或 JavaBeans 中提取字段。(我不知道水晶)

他们会给我什么?

这两个是制作报告的非常好的工具,我在 Jasper 上制作了非常复杂的报告,所以这些工具本身非常先进,重要的是你将如何使用它们。

于 2010-03-14T13:16:49.257 回答
1

如果您的意思是复杂的数据和操作,那么像 Jasper 和 Docmosis 这样的代码级系统将允许您在代码和查询中操作数据。您可以将最好的 SQL 与最好的代码算法相结合,以准备好您的报告数据。如果在您的环境中维护简单 SQL + 简单代码比维护复杂 SQL 更好,这将节省您的时间。

于 2010-05-11T09:54:55.090 回答
1

正如其他人所说,这些工具为您提供的是您的数据和您希望如何显示它的链接 - 可以是列表、图表、交叉表(汇总值网格)等,以及您自己的参数、计算和查询。

如果您将报告嵌入到您的应用程序中,我会说您对报告平台的选择取决于您对哪种技术感到满意。对于 Microsoft,看看 Crystal。对于 Java,请查看 JasperReports 和 iReport。

JasperReports 确实有子报告。

谢尔曼

Jaspersoft(JasperReports 背后的公司)

于 2010-03-14T16:53:51.497 回答
1

这取决于你的公司和你的技能。如果您处于一个小型环境中,您可以控制所有内容,可以访问任何内容,可以下载和安装您想要的任何内容,并且您是一名程序员并且报告更令人烦恼,那么 Jasper 有很多选择。你需要自己做艰苦的工作,但你有能力去做。

但是如果你在一家公司,像很多人一样,DBA 控制数据库,SysAdmin 控制服务器,你不能下载和安装任何你想要的东西,需要签入、测试、批准等,报告是人们现在需要的东西,而不是在你想出一种方法来编写 Jasper 不提供的东西之后,而且你的工作更多的是报告和分析而不是编程的一部分,那么 Jasper 是一个可怕的工具。

另外,不管你喜不喜欢,其他工具有更多的支持和帮助。在简单的帮助方面,Jasper 有点没用。搜索所有 Jasper 论坛。查看有关 Jasper 的任何其他论坛。大多数问题都没有答案。如果你发布一些东西,你的问题很可能永远不会得到回答。或者答案并不接近您的需要。

这是一把双刃剑。Jasper 为您提供了很多自由,但其中很多对于真实的企业界来说都是一个糟糕的工具。除非你的工作不是整天做太多事情,否则 Jasper 需要很长时间才能完成简单的事情。如果是在正确的时间向正确的人报告,请远离 Jasper。如果昨天需要完成报告,没有人真正有时间或理解力坐下来找出解决方法并编写一些代码。最终用户不在乎。这是一个古老的问题。它是为技术人员构建的,而不是为用户构建的。报告世界更多的是关于用户而不是技术人员。

于 2011-08-02T20:40:43.120 回答
0

您提供的信息不那么详细,很难说,但我有 14 年的 Crystal Reports 经验,可以告诉您它非常强大。您可以通过多种方式在 Crystal Reports 中操作生成的数据集。Crystal Report 有一个非常体面的内部程序语言来做到这一点。然后您将获得子报告,如果遇到困难,这将节省您的时间。

我从来没有找到一个可以计算水晶报表的报表生成器,尤其是考虑到它的低价。如果钱不是问题,那么您还可以查看列表和标签,www.combit.net。

于 2010-03-12T14:23:48.690 回答
0

Crystal Reports 为您提供的一项主要功能是执行子报表——即返回嵌套结果集的多个相关查询。这可以真正简化您编写的单个查询。看看http://vb.net-informations.com/crystal-report/vb.net_crystal_report_subreport.htm

于 2010-03-12T16:24:13.047 回答