2013-10-24 4 views
0

Мне нужно прочитать большой размер xlsm с низким объемом памяти и поскольку apache POI предоставляет XSSF SAX, я бы предпочел использовать его. В первом листе из существующего xlsm, разбираемого с SAX, мне нужно добавить некоторые данные из db и записать его как еще один xlsm. SXSSF обеспечивает поточную запись и, следовательно, должен сочетать как чтение SAX, так и SXSSF. Таким образом, я думаю, что проблему размера кучи можно избежать для больших размеров.

Возможно ли использование POI или есть ли какой-либо другой подход?
Просьба предложить мне этот подход с любым примером!Чтение с использованием XSSF SAX и потоков данных с помощью SXSSF - POI

+0

эй, у меня есть аналогичная проблема. могли ли вы решить проблему. Мне любопытно узнать, какой подход вы использовали. – Ash

+0

Мне не удалось добиться чтения с помощью XSSF SAX и написать с помощью SXSSF .. Вместо этого переместился в Aspose.cells, который смог манипулировать огромными данными с помощью xlsb-формата, что резко уменьшает размер файла. – Sva

ответ

1

Основываясь на POI Spreadsheet Feature table, вы не можете читать файлы с буферизованной потоковой передачей SXSSF, хотя буферизованная потоковая передача SXSSF имеет возможность записывать файлы.

Мое предложение состояло в том, чтобы читать, анализировать с помощью SAX, используя eventModel XSSF, а затем записывать с использованием буферизованной потоковой передачи SXSSF для записи нового файла.

 Смежные вопросы

  • Нет связанных вопросов^_^