2

我需要在 Grails 中创建 Excel 工作簿,Grails 支持 Apache POI 和 JExcel Api,但我希望您能告诉我两者的优缺点。

据我所知,Apache POI 比 JExcel Api 更快,但 JExcel API 的代码更友好。

请你告诉我你的经历。

谢谢

4

2 回答 2

3

几个区别:

  1. JExcel 仅限于 Office 2003 格式,而 POI 支持 2007/2010 格式 (xlsx)
  2. 在许多情况下,Jexcel 的内存消耗要少得多,如果您需要处理大型工作簿,这可能是一个因素
  3. 工作簿的建模有所不同,具体取决于您要完成的工作,您可能会发现它更自然地适合 JExcel 的单元格方向或 POI 的更面向行的方法。

我已经完成了两者的项目,并没有真正找到一个如此最高级的我可以放弃另一个,它真的非常依赖于任务。

于 2011-07-28T21:44:19.940 回答
2

差异:

  1. JExcel 有更好的 API 文档,您可以轻松地在 Web 上找到教程。另一方面,与 JExcel 相比,apache POI 没有很好的文档,但它确实有一个非常好的恶意列表/论坛,那里的人们友好且乐于助人。

  2. 创建大型 Excel 2003 工作表时,您将遇到 OutOfMemory 问题,因为这两个 API 在生成文件之前会将所有数据转储到内存中。为了解决这个问题,apache POI 推出了名为 XSSF 的新实现,它允许您创建大型 Excel 2007 工作表而不会出现 OutOfMemory 问题。这是 POI 的一大优势,这也是我选择 POI 而不是 JExcel 的原因。

PS:如果您对 XSSF 生成大 .xlsx 文件感兴趣,请在 Google 上搜索“BigGridDemo.java”。

于 2011-08-04T01:31:31.750 回答