JasperReports是否取代了Apache POI(M $)和iText(PDF)?

Nim*_*sky 3 java jasper-reports itext apache-poi

过去,我使用引用的库在Java中创建了业务文档.

我从未使用过JasperReports,不是吗?

JasperReports是否允许从Java轻松创建PDF和Excel文件?

小智 8

在您的组织(或客户)的情况下,Jasper可以带来好处:

  1. 无法承受更强大的解决方案,如Crystal Reports(或Cognos等)
  2. 需要高度自定义/用户可配置的即席报告解决方案,这些解决方案非常易于集成到现有应用程序中(基于Web或基于桌面):思考"嵌入式"解决方案.

我使用Jasper Reports作为我的后端报告生成器构建了一个完全动态的,基于Web的即席报告解决方案(内部Jasper使用Apache POI进行XLS生成,使用iText进行PDF生成).是否可以使用其他报告包?我确信它会有,但集成会更加困难(它需要通过Web服务与报告服务器通信,从报告服务器读取/流式传输数据等),并且可能无法实现对报告生成的相同细粒度控制.完全可能的Crystal Reports有一个Java API(我从来没有使用过Crystal Reports),但如果从Java角度来看它像Jasper一样易于处理,我会感到惊讶.

Jasper允许我构建一个非常强大的嵌入式报告解决方案:所以它是像我这样的开发人员的"性感"解决方案.这是一个必须小心的地方.对开发人员有吸引力的解决方案对最终用户来说并不总是最好的.我相信其他解决方案从性能角度来看更有效,因此可以处理更大的工作量.使用Jasper时,正确处理性能(时间,内存和SQL查询调优),异步报告/调度和文档存储的工作完全由开发人员完成.

因此,如果你的性能限制不是太严格,或者你的预期工作量是合理的(这都是相对的,相信我,我知道),Jasper可以是一个很好的嵌入式解决方案.但是,如果您有资金和资源(有人进行配置,维护)以购买更强大的报告解决方案,因为您的性能要求需要它,请探索其他解决方案.