gpt4 book ai didi

java - POI性能

转载 作者:IT老高 更新时间:2023-10-28 20:59:27 27 4
gpt4 key购买 nike

我在我的 J2EE Web 应用程序中使用 POI 来生成工作簿。但是,我发现 POI 需要大约 3 分钟来创建一个包含 25K 行的工作簿(每行大约 15 列)。这是 POI 性能问题,还是花这么多时间是合理的?是否还有其他性能更好的 API?

最佳答案

如果您使用“流式”POI API 而不是标准 API,则使用 POI 写入大文件的性能会大大降低。事实上,默认情况下,POI 会将您的所有数据保存在内存中,然后在最后一口气写入。对于大文件来说,它的内存占用可能非常大。相反,您可以使用流式 API 来控制内存的使用方式以及将数据逐步写入磁盘的方式。

要创建流式工作簿,请使用以下内容:

  SXSSFWorkbook book = new SXSSFWorkbook(); 
book.setCompressTempFiles(true);

SXSSFSheet sheet = (SXSSFSheet) book.createSheet();
sheet.setRandomAccessWindowSize(100);// keep 100 rows in memory, exceeding rows will be flushed to disk
// ...

关于java - POI性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2498536/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com