我有大量数据,我想逐行传输。我认为在更改每行的值后调用workbook.write(stream)会将每个写入到输出流上,但我错了。实际上,文件大小建议/匹配我拥有的行数,但文件本身内只有一行(这是第一行写的)。
有没有办法实现这个目标?就像我能够使用文本文件一样?
我已经看了一下BigGrid的实现,看起来有点矫枉过正。我想尝试做什么。
谢谢!
答案 0 :(得分:4)
你无法一次性对整个文件进行流式写入,文件格式不能像那样工作。文件的不同部分之间存在引用它的引用。文件格式不像CSV!
相反,您可以做的是在内存中保留一些小部件,将电子表格的大部分流式写入临时文件,然后以低内存方式重新组装以进行输出。为此,请查看POI中的(相当新的)SXSSF用户模型代码。