簡體   English   中英

逐行寫入XSSF文件以輸出流? (Java中的POI)

[英]Write XSSF file row by row to output stream? (POI in java)

我有大量的數據,我想逐行流式傳輸。 我以為在更改每一行的值后調用workbook.write(stream)會將每次寫入追加到輸出流上,但是我錯了。 實際上,文件大小建議/匹配我的行數,但是文件本身內部只有1行(這是寫入的第一行)。

有沒有辦法做到這一點? 就像我將能夠使用文本文件一樣?

我看了看BigGrid的實現,對於我想做的事情似乎有些過頭了。

謝謝!

您不能一次性流式傳輸整個文件,文件格式不能那樣工作。 在文件的不同部分之間存在引用以排除該引用。 文件格式只是不像CSV!

相反,您可以做的是在內存中保留一些小部分,對電子表格的大部分進行流寫入臨時文件,然后以低內存的方式重新組裝以輸出。 為此,請查看POI中的(非常新的) SXSSF用戶模型代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM