我需要使用Java读取大型excel表。Excel工作表可以是.xls或.xlsx。该工作表可能有数千行。我必须读取所有行并将该行插入数据库。
所以基本上是从Excel中读取并在数据库中写入。
我正在考虑的API是POI和JExcel API(在谷歌上搜索并阅读了SO中的其他相关文章之后)。
但我仍然不确定阅读超大Excel表格的最合适方式是什么。
我不想以后有任何内存问题。
编辑1:
此外,从我目前搜索到的内容来看,JExcel似乎不支持.xlsx格式。
请提出建议。
我们正在使用Apache POI毫无问题地读取这种大小的Excel文件。
如果您只想读取文件,那么Apache POI的性能应该没有问题,因为有用于读取的流式API(想想SAX与DOM)
看见http://poi.apache.org/spreadsheet/index.html
使用POI编写Excel文件将是另一种情况。但至少对于.xlsx
文件,在测试版中有一个扩展,可以使用ApachePOI(SXSSF)进行更高效的写操作。
尝试jExcel
请参阅此处的常见问题解答。
由于性能和可用性,我更喜欢它而不是Apache POI。
阅读.xlsx
是jExcel
库的一个限制。