DynamicReports与DynamicJasper

kos*_*otr 28 jasper-reports

背景

使用DynamicReports开发Java EE应用程序,到目前为止对我来说已经足够了.最近我找到了DynamicJasper,我想知道它是不是更好的选择.

我可以看到DynamicReports可能有更好的支持和社区.

问题

  • 您对这两个图书馆的经历是什么?
  • 哪个提供更好的功能?
  • 彼此的优点和缺点是什么?

谢谢!

Sco*_*ott 53

此问题涉及使用JasperReports API(直接或间接)创建报告的几种方法:

DynamicReports(DR)和DynamicJasper(DJ)是两个免费的开源软件工具,它使用JasperReports API抽象(并简化)常见任务.如果您正在考虑以编程方式开发报告,这些工具可以缩短开发时间.

DR和DJ API包具有以下共同特征:

  • 动态设计
  • 动态列宽
  • 稳定
  • 将iReport模板与代码混合使用

iReport的

iReport是一个用户界面,它隐藏了直接调用JasperReports方法的复杂性.换句话说,iReport是一种花哨且更友好的方式来开发报告,而不是手动编写Java调用.最终结果是相同的:编译报告(.jasper)文件.

JasperReports API

JasperReports API为程序员提供了一组Java类,使计算机可以根据业务需求创建报表.例如,API可以开发一个网站,允许用户在报表中选择他们想要的列,然后即时创建报表模板.模板准备好后,用户可以运行报告以查看结果.

iReport缺少的一个功能是能够动态调整列宽.通过直接使用JasperReports API,程序员可以为报告的结果集创建具有最佳列宽的报告模板.

问题是JasperReports API非常复杂,部分内容可能会使用更多文档.

DynamicJasper的

DynamicJasper网站注意到JasperReports API 的以下优点:

  • 自动布局
  • 条形码
  • 清洁Excel支持
  • 支持Struts和Grails

API示例展示了面向对象原则的良好工作.该网站提供了许多示例,Javadocs的评论很少.该论坛是不是DynamicReports更加活跃.

更新:该项目现在在GitHub上.没有更多论坛,但您可以申请专业支持

DynamicReports

DynamicReports网站注意到JasperReports API 的以下优点:

  • 继承设计

该网站提供了许多示例,但不幸的是Javadocs没有很多评论.此外,论坛似乎不如JasperReports或DynamicJasper活跃.

摘要

如果您对DynamicReports感到满意,我会坚持使用它,否则请尝试使用DynamicJasper.

  • 论坛的链接似乎是交换的,DynamicJasper中的链接指向DynamicReports,反之亦然.描述也很奇怪.无论如何,动态报告论坛的链接:http://www.dynamicreports.org/forum/和DynamicJasper(这篇帖子的ATM坏了):http://dynamicjasper.com/forum/ (2认同)
  • DynamicReports网站是不是可以访问,任何想法?http://www.dynamicreports.org (2认同)

小智 8

我花了几天时间使用和评估上面的不同报告选项,并认为我会加入我的2美分.我在JRXML,Dynamic Jasper和Dynamic Reports中构建了相同的报告(Profit&Loss).我需要一个能够以PDF和Excel格式输出的解决方案,并且能够处理动态列.

这是我发现的:

JRXML

发现使用和不使用iReport非常繁琐.我以前有过使用JRXML的经验,我仍然认为让报告在PDF和Excel中正确显示是一场真正的战斗.我必须通过隐藏和显示某些字段来使用大量的变通方法,这些字段基于它是PDF还是excel.动态列处理不当.

动态贾斯珀

起初我发现Dynamic Jasper非常适合使用,但是在对布局进行绝对控制并对报告进行额外控制方面存在一些问题.看来,如果您的报告是基于列的,那么它可以正常工作.我无法弄清楚如何将子报表添加到详细信息部分,并且必须将其添加到组页眉或页脚.

动态报告

在我看来,动态报告是创建动态jasper报告的最灵活,最简单的方法.语法简单直观,我发现启动和运行起来非常快.您可以像Dynamic Jasper一样执行基于列的报告,但也可以选择将组件拖放到报告的标题,详细信息或其他区域.它使用流布局,因此您只需将组件按顺序放入报表和显示中.导出到PDF和Excel是一致的.

动态报告的最后和最重要的好处是支持和更新活动.DynamicJasper在半年多的时间里没有论坛活动或支持,而DynamicReports不仅积极更新,而且开发人员(Ricardo Mariaca)积极监控论坛并快速回答问题.