Вопрос: Изменение уровня сжатия Excel в Windows


Excel сжимает свои файлы с помощью Zip-Deflate и сохраняет его. Однако уровень сжатия далеко не самый лучший. Чтобы уменьшить размер и отправить его, я должен разархивировать и повторно устанавливать его вручную каждый раз. Есть ли способ изменить настройку уровня сжатия в excel, чтобы он сжимал и сохранял файл с использованием наилучшего метода?


7
2018-04-17 19:56


Источник


Возможно, просто сохранить как бинарный файл (XLSB)? - Ƭᴇcʜιᴇ007
@Techie Как преобразование в двоичный файл помогает? - EliadTech
Размер файла будет намного меньше. Попробуйте и сообщите нам, как это происходит. - Ƭᴇcʜιᴇ007
Сохранение в двоичный файл не помогает значительно. Не так значительны, как распаковка и rezip. Возможно, где-то есть опция для уровня сжатия по умолчанию? - OrangeRind
Какую версию Excel и Windows вы используете? Как вы замаскируете его с помощью excel (filetype и whatnot)? - Raystafarian


Ответы:


Вы также можете с помощью макроса VBA заменить zip-движок.
Макрос, который использует 7Zip для сжатия, можно найти в статье:
Zip Activbook, папка, файл или файлы с 7-Zip (VBA),

Другим методом, который обычно достигает 50% -ного улучшения в размере, является сохраняя файл в xlsb формат, который был введен в Excel 2007. Еще один Save As файл, который иногда уменьшает его размер, предположительно путем дефрагментации.

От должности В каком случае мы должны использовать формат xlsm или xlsb? :

Разница с xlsb заключается в том, что компоненты не   Основанные на XML, но находятся в двоичном формате: предположительно это полезно   при работе с большими файлами.    источник

.xlsx загружается в 4 раза дольше .xlsb и экономит в 2 раза медленнее и имеет   В 1,5 раза больше файла. Я проверил это на сгенерированном листе с 10'000 рядами * 1'000 столбцов = 10'000'000 (10 ^ 7) ячеек простых   цепной = ... + 1 формулы

Существуют также общие методы для уменьшения размера файла Excel. См. Например:

Как уменьшить размер файлов Excel
Как уменьшить огромный файл excel
Как уменьшить размер файла excel


2
2018-05-08 20:57



XLSX -> 712MB (несжатый), 78MB (собственный), 42MB (rezip). XLSB -> 498MB (несжатый), 45MB (собственный), 30MB (rezip). - OrangeRind
Дело в том, что двоичный формат помогает в огромных файлах, но он по-прежнему страдает от одной и той же проблемы неэффективного сжатия ZIP из-за компромисса скорости. Возможно, какая-то надстройка или макрос могут помочь сохранить на более высокий уровень сжатия по умолчанию? - OrangeRind
Код, к которому вы привязаны, вообще не заменяет zip-движок, а просто предоставляет интерфейс макроса для zip или 7zip для сжатия уже созданной книги, которая, похоже, не делает то, что действительно спрашивал OP. Это сжатие после того, как Excel сделал это плохой работой ... - Mokubai♦
@Mokubai: Это то, что он делает сейчас и хочет избежать - он просит более простой способ, чем он сейчас делает: rename-unzip-rezip-rename. - harrymc