【问题标题】:Append to an excel file with POI without reading data附加到带有 POI 的 excel 文件而不读取数据
【发布时间】:2018-05-09 03:41:34
【问题描述】:

我一直在尝试将大量数据放入一个 Excel 文件 HSSFWorkbook, (约 900 万行),我认为 JVM 内存无法处理它。

所以我想将excel文件中的行分块写入以节省内存。 我的想法是重复追加行块。

但是,在查询 excel 文件中的数据时,我似乎必须再次将数据读入内存,这违背了我的目的。

我如何做到这一点?

“基本上,如何在不读取现有 excel 文件的情况下追加行块?”

【问题讨论】:

  • 这将不允许您附加到现有工作簿(据我所知),但它将允许您流式传输到新工作簿:poi.apache.org/apidocs/org/apache/poi/xssf/streaming/…
  • 如果您真的想节省内存,您可以改用 CSV,并使用脚本将文本附加到其中。话虽如此,xslx 也是一种文本(基于 XML)格式,因此您应该能够在没有 POI 或其带来的限制的情况下执行此操作。唯一的问题是您的数据接收器是如何设计的?
  • 感谢@tgdavies,作为答案发布,以便我投票。

标签: java memory-management apache-poi


【解决方案1】:
猜你喜欢
  • 2012-09-29
  • 2020-02-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-13
  • 2023-04-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多