2015-07-29 6 views
2

Я бы хотел использовать SXSSF (Streaming Usermodel API) от Apache POI.
Что мне не нравится, так это то, что он использует временные файлы.
Apache POI: Можно ли использовать SXSSF без временных файлов?

Вопрос:

Можно ли в Apache POI промывать непосредственно в выходной поток без использования временных файлов? не

+0

Какую проблему вы пытаетесь решить? – Axel

+0

@Axel: Мне нужно создать сервлет загрузки, чтобы включить очень большие загрузки файлов excel. В идеале загрузочному сервлету не нужно хранить временные файлы по различным причинам (безопасность, дисковое пространство, кластер и т. Д.) – MRalwasser

+0

@MRalwasser, вы можете удалить временные файлы с помощью вызова SXSSFWorkbook.dispose() ;. –

ответ

0

Нет

Для того, чтобы сгенерировать правильный Excel .xlsx файл, существуют различные биты файла, которые должны договориться друг с другом. Эти ссылки, ссылки, идентификаторы и т.д. должны быть обновлены Apache POI при записи файла из

Вы поэтому есть два варианта:

  • XSSF - Нет временных файлов, все очень легко работать, все хранится в памяти
  • SXSSF - Различные ограничения, большие части устремились во временные файлы, маленькие кусочки в памяти

Если вы не хотите, временные файлы, купить немного больше памяти и использовать XSSF!

Кроме того, не забывайте, что вы можете контролировать, где POI размещает временные файлы, если по умолчанию не работает хорошо для вас

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