哪个更好的Java开源Excel文件parsing?

在Java Apache POI或JExcel API中,哪个更适合Excelparsing? 在速度,内存利用率和代码稳定性方面。

就我个人而言,我会build议在JExcel POI。 我selectPOI而不是JExcelAPI的原因是:

  1. POI支持旧的和新的MS Excel表格格式
  2. 它有一个更清洁的API(imho)
  3. 据我所见,它不会受到JexcelApi( date显示 )的刺激date\时间问题的影响。

我有机会使用两者。 POI,在我看来,有一个非常深思熟虑和易于使用的API。 从我的angular度来看,最大的好处就是可以在工作表实例的创build之后进行工作,然后在用户模型接口的上下文中处理所有事情。 这意味着您的代码可以处理旧的和新的Excel文件格式,而不必担心哪个是哪个。

此外,您可以读写同一个Worksheet实例。 使用JExcelApi,在“可读”表单和“可写”表单之间出现了奇怪的分隔。 这也导致我不得不引入凌乱的工作,从我的代码中的“阅读”到“写作”。

我没有注意到在旧的二进制文件(POI HSSF)和JExcelApi上使用POI有意义的性能差异。 然而,POI HSSF(旧格式)和POI XSSF(新格式)之间有显着的性能差异。 我认为这是因为解包和parsingXML所需的所有额外工作。

我build议使用之前使用的Apache POI,特别是如果您支持Office 2007/8 OpenXML格式。 JExcel不支持。 Apache POI也支持Office应用程序。

我无法评论演出部分。 然而,我确实有一个非常大的Excel文件(数百万列),但是有一个相对较小的文件(几兆字节)。 POI确实需要几分钟的时间来parsing和修改它。 但是,在这种情况下,Excel本身只需花费几分钟来加载文档。

Apache的POI是最好的格式,但速度明智(parsing)JExcel更好(JExcel不支持OpenNML格式,因为notnoop说)

JExcelAPi比Apache POI要好,但不支持Excel 2007格式。