Сколько весит файл Excel с двумя листами: разбираем размеры XLSX, XLS и CSV

Почему размер Excel-файла с двумя листами может вас удивить

Вы когда-нибудь сохраняли пустой документ Microsoft Excel с двумя листами и удивлялись, почему он занимает больше места, чем текстовый файл с тысячей строк? Дело не в магических алгоритмах сжатия, а в структуре форматов .xlsx, .xls и .csv. Даже "пустая" книга Excel содержит служебную информацию: метаданные о стилях, настройках страницы, формулах (если они когда-либо использовались) и самой структуре листов.

Размер файла зависит от версии Excel, формата сохранения и того, что именно хранится на листах. Например, файл XLSX с двумя пустыми листами весит около 8–12 КБ, но добавление одной ячейки с формулой =СУММ() может увеличить его до 15–20 КБ. Это связано с тем, что Excel сохраняет не только данные, но и "историю" вычислений, ссылки на ячейки и другие скрытые параметры. В этой статье мы разберёмся, как формируется размер, от чего он зависит, и как его оптимизировать.

Базовый размер пустого файла Excel с двумя листами

Начнём с минимальных значений. Создайте новый файл в Excel 2019/2021/365, не вносите никаких данных и сохраните его в разных форматах. Вот что получится:

Формат Размер файла (пустой, 2 листа) Примечания
.xlsx 8–12 КБ Современный формат на основе XML, использует ZIP-сжатие
.xls 20–24 КБ Устаревший бинарный формат (Excel 97–2003), не поддерживает сжатие
.csv 0–1 КБ Только текстовые данные, без листов. Два листа сохранятся как два отдельных CSV-файла
.xlsm 12–16 КБ Аналог XLSX, но с поддержкой макросов (дополнительные метаданные)

Обратите внимание: даже без данных XLS весит в 2–3 раза больше, чем XLSX. Это связано с тем, что старый формат хранит информацию в бинарном виде без сжатия, тогда как XLSX — это архив с XML-файлами, которые сжимаются по алгоритму ZIP. Если вы откроете .xlsx через архиватор (например, 7-Zip), то увидите папки xl/worksheets/ с файлами sheet1.xml и sheet2.xml — каждый из них весит по 1–2 КБ, но после сжатия занимает ещё меньше.

📊 Какой формат Excel вы используете чаще всего?
XLSX
XLS
CSV
XLSM
Другой

Что увеличивает размер файла: скрытые факторы

Добавим на два листа по одной ячейке с данными и посмотрим, как изменится размер. Казалось бы, пара байт текста не должна сильно повлиять на вес, но на практике разница может быть значительной. Вот основные "невидимые" факторы:

  • 📊 Форматирование: даже одна ячейка с цветом фона, шрифтом Arial Narrow или границей увеличивает файл на 2–5 КБ за счёт стилей в styles.xml.
  • 🔢 Формулы: ячейка с =СУММ(A1:A1000) весит больше, чем с простым числом, потому что Excel сохраняет зависимости и возможные ошибки.
  • 🖼️ Объекты: вставленная картинка, фигурная стрелка или даже комментарий к ячейке добавляют мегабайты (например, скриншот 100×100 px — это +50–100 КБ).
  • 📈 Условное форматирование: правила типа "если значение > 100, покрасить в красный" хранятся в xl/styles.xml и могут утяжелить файл на 10–30 КБ.
  • 🔄 Связи и внешние данные: если лист подключён к базе данных или другому файлу, Excel сохраняет путь и параметры подключения.

Проверим на практике: создадим два файла с одинаковыми данными (по 10 строк на каждом листе), но в одном применим условное форматирование, а в другом — нет. Разница составит 15–25 КБ при одинаковом количестве символов! Это важно учитывать, если вы работаете с большими отчётами, которые нужно отправлять по почте.

Как уменьшить размер файла Excel с двумя листами

Если ваш файл с двумя листами внезапно стал весить 500 КБ вместо ожидаемых 20 КБ, вот конкретные шаги для оптимизации:

  1. Удалите ненужные стили: перейдите в Главная → Стили → Удалить стили (в Excel 365) или используйте макрос для очистки форматирования.
  2. Преобразуйте формулы в значения: выделите ячейки с формулами → Правка → КопироватьВставить специальную → Значения.
  3. Удалите неиспользуемые диапазоны: даже если вы стираете данные, Excel может помнить "историю" ячеек. Выделите пустые строки/столбцы → Правка → Удалить.
  4. Сожмите картинки: кликните по изображению → Формат → Сжать рисунок (выберите Электронные сообщения для минимального размера).
  5. Сохраните в бинарном формате: Файл → Сохранить как → Выбрать тип "Книга Excel с поддержкой макросов (*.xlsm)" → затем снова сохранить как .xlsx (это сбросит часть метаданных).

☑️ Оптимизация файла Excel

Выполнено: 0 / 5

После этих действий размер файла с двумя листами можно уменьшить на 30–70%. Например, тестовый файл с 100 строками данных и условным форматированием "похудел" с 120 КБ до 35 КБ после очистки стилей и преобразования формул.

⚠️ Внимание: Если вы удаляете "историю" ячеек (пустые строки за последней использованной), Excel может сбросить настройки печати (например, область печати). Перед оптимизацией проверьте параметры страницы в Разметка страницы → Область печати.

Сравнение размеров: XLSX vs XLS vs CSV

Чтобы окончательно разобраться, проведём эксперимент: создадим три файла с одинаковыми данными (два листа по 50 строк с текстом, числами и формулами) и сохраним их в разных форматах.

Параметр XLSX XLS CSV (2 файла)
Размер файла 42 КБ 180 КБ 15 КБ (суммарно)
Поддержка формул Да Да Нет
Сохранение форматирования Да Да Нет
Максимальное кол-во строк 1 048 576 65 536 Не ограничено
Совместимость Excel 2007+ Excel 97–2003 Любой редактор

Из таблицы видно, что CSV — самый лёгкий вариант, но он теряет все преимущества Excel: формулы, несколько листов в одном файле, форматирование. XLSX оптимален для большинства задач, а XLS стоит использовать только для совместимости со старыми версиями (например, Excel 2003).

Почему CSV не подходит для двух листов?

Формат CSV (Comma-Separated Values) предназначен для хранения одной таблицы в одном файле. Если вам нужно сохранить два листа из Excel в CSV, программа создаст два отдельных файла (например, книга1.csv и книга2.csv). Это неудобно для обмена данными, где важна структура с несколькими листами.

Частые ошибки, которые раздувают файл

Многие пользователи даже не подозревают, что их действия в Excel приводят к неоправданному увеличению размера файла. Вот топ-5 ошибок:

  • 📉 Копирование данных из веб-страниц: вместе с текстом вставляются скрытые HTML-теги и стили. Всегда используйте Вставить специальную → Текст.
  • 🎨 Использование градиентов и текстур: фон ячейки с градиентом может добавить до 50 КБ на лист.
  • 🔗 Ссылки на внешние файлы: даже если вы удалили данные, Excel может сохранять пути к внешним книгам в xl/externalLinks.
  • 📊 Скрытые строки/столбцы: они занимают место, как и видимые. Удалите их полностью через Правка → Удалить.
  • 🖼️ Вставка скриншотов вместо диаграмм: одна вставленная картинка (например, скриншот таблицы) весит больше, чем оригинальные данные в формате диаграммы Excel.

Пример из практики: пользователь жаловался, что файл с двумя листами весит 1,2 МБ. При анализе выяснилось, что на втором листе была скрыта строка с вставленной картинкой высокого разрешения (остаток от старого отчёта). После её удаления размер уменьшился до 45 КБ!

⚠️ Внимание: Если вы используете Power Query для импорта данных, Excel сохраняет кэш запросов в файле. Чтобы очистить его, перейдите в Данные → Запросы и подключения → Параметры → Очистить кэш.

Продвинутые методы оптимизации

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

  1. Используйте VBA для очистки:
    Sub ClearUnused()
    

    ActiveWorkbook.SaveAs Filename:=ActiveWorkbook.FullName, FileFormat:=xlOpenXMLWorkbook

    End Sub

    Этот макрос пересохраняет книгу в формате XLSX, сбрасывая лишние метаданные.

  2. Разделите данные на несколько файлов: если два листа содержат независимые данные (например, отчёты за разные кварталы), сохраните их отдельно.
  3. Используйте Power Pivot для больших наборов данных: этот инструмент сжимает данные эффективнее, чем стандартные таблицы Excel.
  4. Отключите "быстрые сохранения": в Excel 365 перейдите в Файл → Параметры → Сохранение и снимите галочку с Автосохранение — это уменьшит служебную информацию.

Для автоматизации очистки можно использовать Python с библиотекой openpyxl:

from openpyxl import load_workbook

wb = load_workbook('your_file.xlsx')

for sheet in wb.worksheets:

for row in sheet.iter_rows():

for cell in row:

if cell.data_type == 'f': # Если формула

cell.value = cell.value # Преобразуем в значение

wb.save('optimized_file.xlsx')

Этот скрипт удалит все формулы, оставив только значения, что сократит размер на 20–40%.

FAQ: Ответы на частые вопросы

Почему файл Excel с двумя пустыми листами весит больше, чем текстовый файл с 1000 строк?

Excel сохраняет не только данные, но и структуру книги: настройки листов, стили по умолчанию, метаданные о версии программы и т.д. Текстовый файл (.txt или .csv) содержит только символы и разделители, без служебной информации. Например, даже пустой .xlsx включает XML-файлы с описанием стилей (styles.xml), отношений между элементами (rels) и шаблонов (theme/theme1.xml).

Какой максимальный размер может иметь файл Excel с двумя листами?

Теоретический предел для XLSX — 2 ГБ (ограничение ZIP-архива), но на практике Excel начинает тормозить уже при 500–700 МБ. Для двух листов реальный максимум зависит от типа данных:

  • 📄 Текстовые данные: до 100 000 строк на лист (≈200 МБ).
  • 📊 Формулы: до 50 000 строк (≈300 МБ из-за зависимостей).
  • 🖼️ С изображениями: 10–20 МБ (Excel сжимает картинки, но неэффективно).

При превышении лимитов используйте Power Pivot или разделите данные на несколько файлов.

Можно ли уменьшить размер файла, конвертировав его в PDF?

Конвертация в PDF не уменьшит размер, а наоборот — увеличит. PDF сохраняет визуальное представление листов, включая шрифты, цвета и макет, что занимает больше места. Например:

  • Исходный .xlsx (2 листа, 50 КБ) → PDF (1,2 МБ).
  • Файл с диаграммами (150 КБ) → PDF (3–5 МБ).

PDF подходит для печати или отправки отчётов, где важно сохранение форматирования, но не для экономии места.

Почему при копировании листа из одного файла в другой размер увеличивается?

При копировании листа Excel переносит не только данные, но и:

  • 🎨 Все стили ячеек (даже если они не используются на скопированных данных).
  • 🔗 Внешние ссылки (если они были на исходном листе).
  • 📏 Параметры страницы (поля, ориентация, колонтитулы).
  • 📊 Настройки условного форматирования.

Чтобы избежать раздувания файла, скопируйте только значения (через Вставить специальную) или создайте новый лист и перенесите данные вручную.

Как проверить, что именно занимает место в моём файле Excel?

Есть два надёжных способа:

  1. Анализ через архиватор:
    1. Переименуйте файл с .xlsx на .zip.
    2. Откройте архив и посмотрите размеры файлов в папках:
      • xl/worksheets/ — данные листов.
      • xl/drawings/ — изображения и графики.
      • xl/styles.xml — стили и форматирование.
  • Использование Excel Analyzer: надстройка от Microsoft (ссылка) показывает детальную структуру файла.
  • Например, если папка xl/media/ весит 10 МБ, проблема в картинках. Если styles.xml — 100 КБ, удаляйте ненужные стили.