Java 将100万条记录写入excel文件

Java 将100万条记录写入excel文件,java,apache-poi,jxl,Java,Apache Poi,Jxl,我正在尝试使用Java将100万行写入和excel文件(我必须创建一个xls或xlsx) Jxl和POI似乎都是内存中的api,也就是说,这两个api每次在内存中都有100万行的整个文件。 这最终将消耗Java堆空间。 如何将记录读入excel文件? 提前感谢。ApachePOI有一个强大的功能,可以处理大数据。我一直用到500公里。它可能对你有一百万的帮助 Jetcel可以在临时文件的帮助下编写excel文件,而不是将所有数据存储在内存中。您可以使用以下代码启用它: WorkbookSetti

我正在尝试使用Java将100万行写入和excel文件(我必须创建一个xls或xlsx)

Jxl和POI似乎都是内存中的api,也就是说,这两个api每次在内存中都有100万行的整个文件。 这最终将消耗Java堆空间。 如何将记录读入excel文件?
提前感谢。

ApachePOI有一个强大的功能,可以处理大数据。我一直用到500公里。它可能对你有一百万的帮助

Jetcel可以在临时文件的帮助下编写excel文件,而不是将所有数据存储在内存中。您可以使用以下代码启用它:

WorkbookSettings settings = new WorkbookSettings();
settings.setGCDisabled( true );
settings.setUseTemporaryFileDuringWrite( true );   
settings.setTemporaryFileDuringWriteDirectory(tmpDir);
Workbook wb = Workbook.createWorkbook(os, settings);

Excel不是为这种情况设计的。您应该将它们导出到CSV文件。没有这样的限制。注意:POI流API是只写的。