使用Java读取大型Excel文件的最佳API是什么?

时间:2012-02-14 07:21:08

标签: java apache-poi large-files jexcelapi

我需要使用Java读取大型Excel工作表。 Excel工作表可能是.xls或.xlsx。该表可能有数千行。我必须读取所有行并在数据库中插入该行。

所以基本上从Excel读取并写入数据库。

我正在考虑的API是POI和JExcel API(在谷歌上搜索和阅读其他一些相关文章后)。

但我仍然不确定阅读非常大的Excel工作表的最合适方式是什么。

我不希望以后出现任何内存问题。

修改1:

另外,从我到目前为止搜索到的内容来看,JExcel似乎不支持.xlsx格式。

请建议。

3 个答案:

答案 0 :(得分:3)

我们正在使用Apache POI读取那个大小的Excel文件而没有任何问题。

答案 1 :(得分:3)

如果您只想阅读文件,那么Apache POI的性能应该没问题,因为有用于读取的流API(想想SAX与DOM)。 见http://poi.apache.org/spreadsheet/index.html

使用POI编写Excel文件将是另一种情况。但至少在.xlsx个文件中有一个beta扩展,允许使用Apache POI(SXSSF)进行更高效的写操作。

答案 2 :(得分:0)

尝试jExcel

请参阅常见问题解答here

由于性能和可用性,我更喜欢Apache POI

阅读.xlsxjExcel库的限制。