【问题标题】:Implementing Reporting in Java Web Application [closed]在 Java Web 应用程序中实现报告 [关闭]
【发布时间】:2013-08-06 07:25:09
【问题描述】:
我们有一个数据库。所有报告均以此为基础。目前我已经制作了一个从数据库中检索数据并显示在 JSF 数据表中的 Web 应用程序。由于这些报告是基于查询,如果查询发生更改或者我需要构建新报告,我必须更改代码或视图。
所以,我的问题是
- 我们如何在不更改代码的情况下实现报告?
- 有什么方法可以将报告引擎嵌入到我的报告工具中?
有什么建议、文档吗?
【问题讨论】:
标签:
java
jsf
reporting
business-intelligence
【解决方案1】:
您可以使用像 jasper 报告这样的报告引擎,它允许您以一种简单且可自定义的方式构建 PDF、excel、XML、HTML 的报告... iReport 是基于 jasper 报告引擎的图形工具,它允许您自定义报告的输出。
你可以在这里下载它们
jasper report community web site
希望这会有所帮助。
【解决方案2】:
当您插入报告系统时,您总是必须针对每个报告(或至少针对报告组)做一些特定的工作,除非您使用一个大型应用程序与您的应用程序一起工作并与数据库本身对话,从而允许业务人员或用户构建自己的报告(想想 Cognos/Business Objects/Yellow Fin 等)。
您可以将Docmosis(商业)或JODReports(免费)引擎插入您的应用程序,并使用 DOC 或 ODT 文档作为报告模板。这些工具可以输出多种格式,包括 DOC/ODT/PDF/HTML/RTF 等,具体取决于您需要的输出类型。 Docmosis 可以从数据库 ResultSet 中提取数据,因此如果您的查询发生更改,报告将自动反映更改(只要模板对您对 SQL 的更改仍然有意义)。使用 Doc/Odt 文档作为模板的好处是任何人都可以更改报告的样式。
那么,你的问题:
- 您需要允许报告系统根据您的查询生成报告。如果查询发生更改,报告会从新查询中获取数据。但是,如果查询完全不同,报表将无法“知道”如何显示它 - 因此您经常需要更改报表布局以匹配。
- 是的,JODReports、Docmosis、iText 和其他各种可以插入到您的 Java 应用程序中
请注意,我为创建 Docmosis 的公司工作。
希望对您有所帮助。