2013-10-24 60 views
0

我必須讀取內存佔用少的大型xlsm,並且由於apache POI提供了XSSF SAX,所以我更願意使用它。在現有的使用SAX解析的xlsm的第一張表中,我需要從db中追加一些數據並將其作爲另一個xlsm寫出來。 SXSSF提供流寫入,因此應結合SAX讀取和SXSSF寫入。通過這種方式,我認爲堆大小問題可以避免大尺寸。

這是可能使用興趣點或有任何其他方法?
請以任何示例向我推薦此方法!使用XSSF SAX讀取並使用SXSSF流式傳輸數據 - POI

+0

嘿,我有一個類似的問題。你是否能夠解決你的問題。我很想知道你使用了什麼方法。 – Ash

+0

我無法使用XSSF SAX實現讀取並使用SXSSF進行寫入。取而代之的是移動到Aspose.cells,它能夠使用xlsb格式大量減少文件大小來處理大量數據。 – Sva

回答

1

基於POI Spreadsheet Feature table,儘管SXSSF緩衝流確實能夠寫入文件,但無法讀取帶有SXSSF緩衝流的文件。

我的建議是使用XSSF eventmodel讀取,解析SAX,然後用SXSSF緩衝流寫出來寫入新文件。

相關問題