Java 使用POI附加到excel文件而不读取数据

Java 使用POI附加到excel文件而不读取数据,java,memory-management,apache-poi,Java,Memory Management,Apache Poi,我一直在尝试将大量数据放入excel文件HSSF工作簿, (~900万行),我认为JVM内存无法处理它 因此,我想将excel文件中的行分块写入,以节省内存。 我的想法是重复添加行块 然而,在查询excel文件中的数据时,我似乎必须再次将数据读入内存,这与我的目的背道而驰 我如何做到这一点 “基本上,如何在不读取现有excel文件的情况下在现有excel文件上追加行块?”POI还提供了一个流式API:这将不允许您追加到现有工作簿(据我所知),但它将允许您流式处理到新工作簿:如果您确实想节省内存,

我一直在尝试将大量数据放入excel文件HSSF工作簿, (~900万行),我认为JVM内存无法处理它

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

然而,在查询excel文件中的数据时,我似乎必须再次将数据读入内存,这与我的目的背道而驰

我如何做到这一点


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

POI还提供了一个流式API:

这将不允许您追加到现有工作簿(据我所知),但它将允许您流式处理到新工作簿:如果您确实想节省内存,您可以改为使用CSV,和脚本来向其添加文本。话虽如此,xslx也是一种文本(基于XML)格式,因此您应该能够做到这一点,而无需POI或它带来的限制。唯一的问题是你的数据接收器是如何设计的?谢谢@tgdavies,作为答案发布,这样我就可以投票了。