Как хранить данные напрямую в Apache POI XLS? - PullRequest
0 голосов
/ 28 июля 2011

Я использую API-интерфейс Apache POI HSSF для Java, чтобы создать длинный длинный отчет в виде файла XLS.Проблема в том, что дата действительно велика, и моя память не работает перед вызовом wb.write(out);.Поэтому мне интересно, есть ли какой-либо способ напрямую или периодически хранить информацию для отчета XLS.

Ответы [ 2 ]

2 голосов
/ 28 июля 2011

Вы можете попробовать использовать последнюю версию POI 3.8 beta и посмотреть на модель SXSSF, я знаю, что они пытаются помочь использовать память при чтении из xlsx, но я не уверен, как она будет работать с выписываю. Может быть стоит посмотреть.

Кроме этого, я думаю, что единственным вариантом является увеличение пространства кучи для вашей JVM с помощью -Xmx.

Надеюсь, это поможет!

0 голосов
/ 28 июля 2011

вам нужно закрыть объект рабочей книги ... убедиться, что он находится вне области действия и снова открыть документ .. это может помочь вызвать System.gc() после закрытия документа.

лучше всего увеличить максимальную память (пространство кучи) , выделенную java для лучших результатов.

...