4

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

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

4

2 回答 2

3

apache-poi 有一个流式 API,可以处理大数据。我一直用到500k。一百万它可能对你有用。

于 2013-07-16T12:58:09.030 回答
1

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

WorkbookSettings settings = new WorkbookSettings();
settings.setGCDisabled( true );
settings.setUseTemporaryFileDuringWrite( true );   
settings.setTemporaryFileDuringWriteDirectory(tmpDir);
Workbook wb = Workbook.createWorkbook(os, settings);
于 2013-07-16T13:08:38.400 回答