我必须读取内存占用少的大型xlsm,而且因为apache POI提供了XSSF SAX,所以我更喜欢使用它。在使用SAX解析的现有xlsm的第一个工作表中,我需要附加一些来自db的数据,并将其写出为另一个xlsm。SXSSF提供流式写入,因此应该结合SAX读取和SXSSF写入。通过这种方式,我认为堆大小问题可以在大容量时避免。
是否可以使用POI,或者是否有其他方法?
请用任何例子向我推荐这种方法!
发布于 2014-01-31 04:38:43
基于POI Spreadsheet Feature table,您不能使用SXSSF缓冲流读取文件,尽管SXSSF缓冲流确实具有写入文件的能力。
我的建议是使用SAX读取、解析,使用XSSF eventmodel,然后使用SXSSF buffered streaming写入新文件。
https://stackoverflow.com/questions/19568894
复制相似问题