2012-04-23 72 views
3

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

我从来没有使用JasperReports,应该吗?

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

+0

恕我直言,JR它不是生成MS Word格式表格的最佳选择 – 2012-04-23 11:43:07

+0

@AlexK你会推荐的其他东西吗? – NimChimpsky 2012-04-23 11:43:46

+0

如果报告工具:Crystal Reports和MS SQL Server Reporting Services。如果用于生成文档的Java API可能是OpenOffice。这是关于MS Word格式的生成文档。同时我是JasperReports的忠实粉丝。 – 2012-04-23 11:49:54

回答

8

碧玉可以在情况下,受益您的组织(或客户):

  1. 更是无法承受强大的解决方案,如水晶报表(或COGNOS等)
  2. 需要高度定制/用户可配置的特别报告解决方案,非常易于集成到现有应用程序中(基于网络或基于桌面):思考“嵌入式”解决方案。

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

Jasper允许我构建一个功能强大的嵌入式报表解决方案:因此,它对像我这样的开发人员来说是一个“性感”的解决方案。这是人们必须小心的地方。对开发者有吸引力的解决方案并不总是最终用户的最佳选择。我相信其他解决方案从性能角度来看效率更高,因此可以处理更大的工作量。在使用Jasper时,正确处理性能(时间,内存和SQL查询调优),异步报告/调度和文档存储的工作完全由开发人员负责。所以如果你的性能约束不是太严格或者你的预期工作量是合理的(这是相对的,相信我,我知道),Jasper可以是一个很棒的嵌入式解决方案。但是,如果您有足够的资金和资源(某人进行配置,维护)购买​​更强大的报告解决方案,因为您的性能需求需要它,请探索其他解决方案。