配置&动态生成BIRT报告

时间:2012-07-07 02:34:55

标签: java eclipse reporting birt

通过观看由两部分组成的YouTube视频并仔细阅读BIRT手册,我对它的理解就是这样的问题:

  • 在Eclipse中创建新报告
  • 使用BIRT报告设计器(Eclipse插件)设计报告
  • 使用数据源(JDBC驱动程序和数据库)和数据集(特定表)填充报表
  • 生成/导出/打印报告

这个工具看起来很酷,我找不到任何文档,这些文档让我相信这是一个 Java 工具,而不是 Eclipse-只有工具(意思是,它有一个Java API,可以与Java应用程序交互,而不是纯粹的Eclipe插件,需要Eclipse IDE进行手动/人工交互。

具体来说,我想确认BIRT能否做到以下几点:

  • 以编程方式配置报告(布局,UI窗口小部件布局,数据源/集等);即,与JasperReport API具有生成JRXML的iReport设计器的方式相同,BIRT也是如此?
  • 通过Java API启动报告“生成”,从而实时读入数据并填充报告,报告可以发送或存储在文件系统上
  • 创建同一报告的HTML和PDF版本

5 个答案:

答案 0 :(得分:16)

您的问题的答案:

  1. 是。 BIRT可能没有JasperReports那么强大,但它可以满足大多数常见需求。 BIRT设计器在JasperReports中生成类似于JRXML的.rptdesign文件。

    关于您的问题:几乎所有事情都可以在BIRT中以编程方式实现。 BIRT Report Engine APIs是您开始使用所提到的所有功能的最佳来源。它为每个功能提供了很好的例子。

  2. 不确定。 BIRT通常从DB中提取预先保存的数据并生成报告。您可以在一些外部库的帮助下查看实时数据表示(以flash图表的形式)(参见this线程和this示例是否有帮助)。但我不知道将实时数据转换为PDF / HTML报告的直接方法。你必须找到一些黑客。

  3. 当然可以。请参阅API。具体而言,irendertask

  4. 获取更多信息/答案的来源:

    1. 网站上有几个example reports。快速浏览它们可能会为您提供更多见解。

    2. 有关讨论和问题排查,请参阅eclipse community forumBIRTExchange(BIRT用户大量使用)。

    3. BIRT: A Field Guide to Reporting是一本很好的书。我不时自己使用它。

答案 1 :(得分:4)

我可以确认您感兴趣使用的两个BIRT组件(BIRT设计引擎和报告引擎)将在纯Java上下文中工作,并且可以在没有Eclipse的情况下进行部署。我已经部署了BIRT报告以用完独立的Tomcat服务器以及Pentaho BI Server,并且已经使用shell脚本在命令行中执行了报告定义(不涉及Eclipse)。

您的问题的答案:

  1. 以编程方式配置报告:使用Design Engine API。我不熟悉Jasper Reports API,因此无法评论BIRT方法是否相似,但example code提供了很好的说明。请特别注意在报告中添加和操作小部件的lines 120-133,以及line 136如何调用saveAs来保存报告设计文件。

  2. 实时生成报告:使用Report EngineIRunAndRenderTask的示例代码最初可能对您最有用,但引擎可以将报表的数据处理(提取和聚合)与呈现和分页分开。我相信这些示例主要关注从Servlet运行报表,但很容易从servlet容器逻辑中提取该逻辑。

  3. 创建HTML和PDF版本:通过IRenderTask在报告引擎中轻松处理。一旦您完成了所有其他设置工作,更改输出格式以生成PDF与HTML是一件令人高兴的事情。根据我的经验,它只是有效。

  4. 我发现从一个非常简单的Java类(改编自very old code here)开始运行从命令行调用的测试报告是有用的。

答案 2 :(得分:1)

您可以使用报告引擎API配置报告: http://www.eclipse.org/birt/phoenix/deploy/reportEngineAPI.php#ireportrunnable

您可以通过在网址中设置变量来生成报告,或者以编程方式使用报告引擎来创建报告的HTML或PDF版本:

http://www.eclipse.org/birt/phoenix/deploy/reportEngineAPI.php#irendertask

我们使用Eclipse来构建和设计报告。报告引擎作为reports_war的一部分进行部署,war与数据库有自己的连接。我们基于Java的Web应用程序使用URL与报告模板交互(变量在URL中设置)。

BIRT Exchange是获取更多信息的好地方

答案 3 :(得分:0)

除了birt有eclipse插件之外,Birt和jasper之间没有太大区别,因为设计观点。

1)是的,您可以通过java程序或方法对其进行配置。

2)是的,这是可能的。

3)是的再次导出您的报告以不同的格式很容易通过java进行birt报告

答案 4 :(得分:-1)

BIRT是报告生成的一个简单易用的工具。

  • 您可以在BIRT中设计您的页面。 -
  • 创建数据集,并可以使用jsp标记lib将网页中的值传递给BIRT设计。 BIRT满足您的所有要求。它如此易于使用。首先我使用碧玉,然后尝试水晶atlast Birt gies输出。 tag lib

我引用此链接在我的网页中查看BIRTVIEWVER。在BIRT中创建PDF非常完美。您也可以生成PDF,DOC,HTML。

你可以将值传递给你的身体。在创建数据集时,可以选择传递参数。

要做到这一切,你必须在你的日食中安装BIRTREPORT BIRT Report designer