使用JasperReports的最佳方法是什么?

11
这里我们正在讨论三个主要产品: JasperReports: 仅是一个生成报告并填充报告的库 iReport: 是用于开发以上库使用的模板的GUI工具 JasperServer: 是具有Web界面的完整应用程序,用于管理报告、用户权限和其他功能。
文档真的不是那么好,我想使用上述产品中最好的来将JasperReports与我的应用程序(Spring/Hibernate)集成,所以请建议最佳方法,
1- 使用内嵌SQL生成使用iReport设计报告,并将其作为单独的项目与我的项目分离。我尝试在iReport中使用HibernateSpring,但遇到了很多问题,这部分没有清晰的文档。
2- 将其附加到我的项目中,以使用相同的Hibernate配置和已创建的实体
3- 尝试使用看起来复杂的JasperServer,然后将报告公开为Web服务
或任何其他更好、有保证的方法,我知道这取决于我的项目处理方式,但我时间不够,所以它取决于具有更好文档或教程的方法。
5个回答

7

您可以在模块或子项目中编写自己的Jasper框架。您可以将报表定义与查询分开维护,并使用代码生成的数据来填充它们。

这样,所有数据和处理都保留在您的项目中,更容易跟踪或编辑(例如,当您只需要更改查询的某个方面、添加过滤器或为了更好的性能重写查询时)。此外,这样您还可以将报表数据用于其他用途(例如,添加CSV或XML输出)。


你的方法似乎更好,但是能否请您进一步澄清“您可以将报表定义与查询分开,并使用代码生成的数据来填充它们”? - Amr Faisal
2
使用iReport创建和维护jrxml文件。在您的代码中,以任何您需要的方式(SQL/Hibernate/任何其他方式)加载数据并调用“JasperFillManager.fillReport()”。 - Konrad Garus
1
好的,这是我从第一个答案中意识到的,但你让它更清晰了,我认为这是目前最好的方法,谢谢。 - Amr Faisal

3

所以说JasperReports是一个非常复杂的产品,还是怎么样?我认为它在其他报告工具中排名靠前,我会检查Birt,谢谢你的回复。 - Amr Faisal
我发现在Spring中使用Jasper报表有点困难。现在我打算使用BIRT报表,但我找不到用Java编译并生成PDF的方法。 - vigamage

1

我最近开始使用JasperServer-pro,说实话我相当喜欢它。据我所知,有很多选项可以将其与现有应用程序集成:

1- 部署为独立服务器,并使用WebService API调用来生成和返回报告(这些必须是预定义的,可以通过iReport或JasperServer自己的AdHoc报告编辑器进行)。

2- 部署为独立服务器,并通过启动的浏览器进行URL调用以打开报告(同样是预定义的)。

3- (仅限Pro版)- 下载WAR BIN安装程序并重新品牌化。

4- 下载JasperServer的源代码并从头构建它。

5- 下载源代码/JasperReports jars并借用您想在源代码中使用的部分。


1
我不能评论其他两种方法,但我们正在使用Jasperserver,如果您想要实际使用一个门户网站来访问报告,那么这似乎更合适。 通过这种方式,您可以在ireport中创建报告并将其发布到门户网站上。人们登录门户网站以访问他们的报告。如果您只是将其嵌入应用程序中,我认为您不会使用Jasperserver。

0

对于JasperReports,您可以购买文档。您将获得一本书和示例代码,这些都可以帮助很多。我刚刚查看了网站(我已经有一段时间没有使用JasperRepors了,目前也没有报告要做),他们现在还有一个专业的设计应用程序:http://www.jaspersoft.com/jasperreports-professional


1
好的,购买书籍的想法是可以接受的,但购买商业产品则不行,因为我们选择 JasperReports 是因为它是一个免费开源产品。感谢您的帮助。 - Amr Faisal
3
我必须补充一点:开源产品仍然可以是商业化的。这意味着它们被创建或维护是为了赚钱,就像JBoss、Spring、Apache和其他许多产品一样。我希望你不会有“无商业用途”的政策,只因为开源被认为应该是免费的啤酒那样。 - Gerbrand

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