大型Excel文件 - 上传和导入 - Java

时间:2014-01-26 05:48:04

标签: java apache-poi

所有

我想将包含超过一百万条记录的大型Excel文件上传并导入到我的Java程序中。

我可以使用Apache POI轻松地将小文件导入到我的系统中,但是当我从大文件启动应用程序抛出和内存不足错误时,

我搜索了谷歌并发现了很多线程,我尝试了一切,但无法解决这个问题。

任何人都可以给我解决我的特定问题,导入时间对我来说不是问题,现在我也可以承受性能问题,

只想将此数据导入我现有的系统而不会出现oem错误。

我的系统配置非常好,java有足够的内存可供使用,因此硬件不是问题。

由于

1 个答案:

答案 0 :(得分:0)

您需要流式传输数据,这样您就不需要立即将所有记录存储在内存中。 POI支持流式传输(请参阅XSSF and SAX event API)。当您读取数据时,将其发送到您需要的任何地方(数据库或任何地方,您没有指定) - 使用流API,您不应在处理之前将所有数据读入内存。

您还可以将数据导出为CSV文件,然后使用常规FileInputStream来读取文件并在读取时处理每条记录。