java - 使用 BIRT 创建报告

标签 java eclipse birt

我查看了 BIRT 的基础教程,我觉得 BIRT 是高度以数据库为中心的。我的情况完全不同。

我必须从不同类型的数据源生成报告。要发布的数据是动态创建的(这是另一个模块的工作),并且我有复杂的数据结构来保存数据(如 map 列表)。我无法拥有模板,因为这一切都取决于用户交互。但数据结构包含创建每个报表所需的所有数据,即列名、行数和行值。

我真的很困惑如何从这种数据源创建报告。 BIRT 仅支持 POJO。有什么方法可以将 map 指定为数据集并将 Java 类指定为数据源吗?或者如果没有,有什么替代方案?

最佳答案

您有几种不同的选择:

1) 使用脚本数据源并通过应用程序上下文传入列表/ map 结构。在您的报告中,您将在初始化事件中执行类似以下操作:

var myData = reportContext.getApplicationContext().get("myPassedInValue");
reportContext.setGlobalVariable("data", myData);

然后,在脚本化数据集的获取事件中,根据需要迭代列表/ map 。

2) 创建一个 ODA 插件来显式处理您的数据结构。这是很多跑腿工作,但它使设计报告变得更容易。

3) 使用 BIRT 的设计引擎 API 以编程方式构建报告和数据。

关于java - 使用 BIRT 创建报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4586532/

相关文章:

c++ - 找不到 Eclipse Juno C++ 二进制文件?

birt - 为 BIRT 报告添加新字体

java - 如何将 BIRT 日志记录集成到应用程序日志记录中?

java - 无法访问的代码+如何遍历所有组合

java - 为 Java 创建精确的重力

java - Gradle-无法确定合适的驱动程序类别

java - 无法在 Eclipse 中找到或加载主类 org.testng.remote.RemoteTestNG

birt 报告查看器如何在同一页面上显示所有结果

java - spark 返回错误 libsnappyjava.so : failed to map segment from shared object: Operation not permitted

java - 使用 Jackson 提取 JSON 元数据(原始类型和名称)