Я использую apache poi api для работы с файлами электронных таблиц. Я заметил, что если мы попытаемся отредактировать существующий файл .xls, его размер не будет таким же, как если бы тот же файл (те же данные) был записан за один раз.
Проблема с размером файла. пока пои читай пиши
Ответы (2)
Это нормально, когда таблица Excel увеличивается после открытия или редактирования. Когда электронная таблица открывается в Microsoft Excel, формулы рассчитываются автоматически, поэтому размер файла увеличивается. Если электронная таблица открывается с помощью Apache POI, разработчик должен вызвать (FormulaEvaluator ), чтобы обновить все значения. Когда электронная таблица читается Apache POI, а формулы не оценивались, ответы формул могут быть недействительными.
POI всегда будет записывать одну запись на ячейку
Однако Excel иногда объединяет несколько одинаковых последовательных ячеек в одну запись. Например, если у вас есть 3 ячейки в строке, которые пусты, но стилизованы, Excel создаст MulBlankRecord, который содержит их все. Для нескольких ячеек подряд с простыми числами Excel использует МулРКРекорд
Когда POI читает файл, он расширяет все записи Mul*. Во время записи записываются отдельные записи ячеек, поэтому файл становится немного больше. Я думаю, что в POI bugzilla есть запись об улучшении, позволяющем POI объединять ячейки в записи Mul, но, похоже, никто еще не вызвался работать над этим...