这个问题涉及使用 JasperReports API(直接或间接)创建报告的几种方法:
DynamicReports (DR) 和 DynamicJasper (DJ) 是两个免费的开源软件工具,它们使用 JasperReports API 抽象(和简化)常见任务。如果您正在考虑以编程方式开发报告,这些工具可以缩短开发时间。
DR 和 DJ API 包具有以下共同特性:
- 动态设计
- 动态列宽
- 稳定
- 将 iReport 模板与代码混合
iReport
iReport 是一个隐藏了直接调用 JasperReports 方法的复杂性的用户界面。换句话说,与手动编写 Java 调用相比,iReport 是一种开发报告的花哨且更友好的方式。最终结果是一样的:一个已编译的报告 (.jasper) 文件。
JasperReports API
JasperReports API 为程序员提供一组 Java 类,让计算机根据业务需求创建报告。例如,该 API 可以开发一个网站,允许用户在报告中选择他们想要的列,然后动态创建报告模板。模板准备好后,用户可以运行报告以查看结果。
iReport 缺少的一项功能是动态调整列宽的能力。通过直接使用 JasperReports API,程序员可以为报告的结果集创建具有最佳列宽的报告模板。
问题在于 JasperReports API 极其复杂,其中一部分可能需要使用更多文档。
动态碧玉
DynamicJasper 网站通过 JasperReports API 记录了以下 benefits:
- 自动布局
- 条形码
- 干净的 Excel 支持
- Struts 和 Grails 支持
API 示例展示了面向对象原则的良好运作。该网站提供了许多示例,Javadocs 的注释很少。 forum 比 DynamicReports 更活跃。
更新:该项目现在位于GitHub。没有论坛了,但是你可以申请Professional Support
动态报告
DynamicReports 网站通过 JasperReports API 记录了以下 benefits:
该网站提供了许多示例,但遗憾的是 Javadocs 没有很多 cmets。此外,forum 似乎不如 JasperReports 或 DynamicJasper 活跃。
总结
如果您对 DynamicReports 感到满意,我会说坚持下去,否则请尝试 DynamicJasper。