У меня есть файл .xls со сводными таблицами размером 500 МБ, и когда я конвертирую его в формат .xlsx, он уменьшается до 5 МБ. Даже после нажатия Data>Refresh All, что обновляет PivotCaches, размер файла остается небольшим. Такое же уменьшение размера происходит, если я сохраняю как .xlsm или .xlsb.
В документации Microsoft указано, что формат XML и контейнер ZIP гораздо эффективнее используют память, чем двоичные документы. У меня нет оснований полагать, что произошла потеря или повреждение данных, поскольку функциональность осталась прежней. Является ли сжатие правдоподобным объяснением столь резкого (90%) сокращения размера файла? Есть ли способ на самом деле проверить, что сокращение размера файла было вызвано сжатием?
Спасибо.
решение1
Файлы .xlsx, как и все их собратья Office после 2007 года, такие как .docx, .pptx и т. д., являются zip-контейнерами.
Вы можете изменить расширение на .zip и просмотреть содержимое структуры файлов и папок (более интересно для документов с медиа, таких как файлы PowerPoint с изображениями). Если вы распакуете в папку, вы сможете увидеть относительные размеры.
Я бы нисколько не удивился, обнаружив во многих электронных таблицах коэффициент сжатия 90%, поскольку в них много повторений с похожими формулами и т. д. Кажется, я припоминаю, что давным-давно читал статью (когда эти форматы были относительно новыми) о том, как Excel хранит фрагменты формул, чтобы сжатие давало наилучшие шансы на экономию большого размера файла.