Формат XLSB — двоичный формат книг Excel¶
XLSB — двоичный формат файлов электронных таблиц, используемый в приложении Microsoft Excel. Расширение .xlsb относится к контейнеру OOXML (Office Open XML), в котором содержимое книги хранится не в виде XML-документов, как в привычном .xlsx, а в виде бинарных (двоичных) потоков. Формат появился в Microsoft Office 2007 и с тех пор поддерживается во всех последующих версиях Excel для Windows, а также в Excel для macOS и в онлайн-версии Excel (Microsoft 365).
¶Структура файла
Файл .xlsb представляет собой ZIP-архив, аналогичный .xlsx, однако внутри него лежат не XML-файлы с расширением .xml, а файлы с расширением .bin — бинарные записи, описывающие листы, формулы, стили, диаграммы и прочие объекты книги. Типичное содержимое архива включает:
[Content_Types].xml— таблица типов содержимого (остаётся XML-файлом);xl/workbook.bin— описание структуры книги (листы, именованные диапазоны);xl/worksheets/sheet1.bin,sheet2.binи т. д. — содержимое отдельных листов;xl/sharedStrings.bin— общий словарь строковых значений;xl/styles.bin— таблица стилей;xl/theme/theme1.xml— тема оформления (XML);docProps/core.xml,docProps/app.xml— метаданные документа.
Двоичные потоки .bin используют формат записи, описанный в спецификации ECMA-376 (часть 4 — «Обмен двоичными документами»). Каждая запись состоит из заголовка (код записи и длина) и полезной нагрузки. Такое представление данных более компактно, чем текстовый XML, и не требует парсинга разметки при чтении.
¶Отличия от XLSX
Основное отличие .xlsb от .xlsx — способ кодирования содержимого. В .xlsx каждая ячейка, формула, стиль описаны в виде XML-узлов, что делает файл читаемым любым текстовым редактором, но увеличивает его объём. В .xlsb те же данные закодированы в компактном двоичном виде.
Практические последствия различий:
| Параметр | XLSX | XLSB |
|---|---|---|
| Кодирование данных | XML | Двоичное |
| Размер файла | Обычно больше | Обычно меньше (на 30–70 % у больших книг) |
| Скорость открытия больших книг | Ниже | Выше |
| Читаемость «вручную» | Высокая (текстовый XML) | Низкая (нужен специальный парсер) |
| Поддержка в стороннем ПО | Широкая | Ограниченная |
Формат .xlsb рекомендуется Microsoft для очень больших книг, где заметна заметная разница в скорости сохранения и открытия. Для небольших файлов преимущества незначительны.
¶Совместимость
Excel для Windows и macOS читает и пишет .xlsb без ограничений. Онлайн-Excel (часть Microsoft 365) открывает такие файлы, но с оговорками: некоторые продвинутые функции и макросы могут работать иначе, чем в настольной версии.
Другие табличные редакторы поддерживают формат частично или не поддерживают вовсе:
- LibreOffice Calc — чтение
.xlsbпоявилось в версии 7.6 (2023) в экспериментальном виде; запись в этот формат не поддерживается. - Google Таблицы — при загрузке
.xlsbконвертируют его в собственный формат, возможна потеря данных. - Apple Numbers — формат не поддерживается, требуется предварительная конвертация.
- Популярные библиотеки (openpyxl для Python, Apache POI для Java, EPPlus) работают преимущественно с
.xlsx; чтение.xlsbподдерживают лишь некоторые из них (например, EPPlus начиная с версии 5 и библиотекаxlsb2csv).
¶Применение
Основной сценарий использования .xlsb — работа с большими электронными таблицами: отчётами, выгрузками из учётных систем, моделями с сотнями тысяч строк и множеством формул. В таких случаях двоичный формат сокращает время сохранения и открытия файла, а также уменьшает объём, что удобно при передаче файлов по почте или облачным сервисам.
Формат поддерживает все основные объекты Excel: формулы, сводные таблицы, диаграммы, условное форматирование, проверку данных, а также макросы VBA (в книгах с расширением .xlsb макросы хранятся так же, как и в .xlsm).
¶Ограничения
- Файл
.xlsbнельзя открыть в текстовом редакторе или просмотреть «на глазок» — для этого нужен Excel или специализированный парсер. - При передаче данных в системы, принимающие только
.xlsxили CSV, требуется конвертация. - В случае повреждения архива восстановление данных сложнее, чем у
.xlsx, из-за двоичного формата записей. - Некоторые облачные сервисы и веб-приложения не распознают
.xlsbи отклоняют такие вложения.
¶Историческая справка
Формат .xlsb был представлен в Microsoft Office 2007 одновременно с переходом на OOXML. Спецификация двоичного формата опубликована как часть стандарта ECMA-376 (Binary Extended File Format) и впоследствии уточнялась в версиях ISO/IEC 29500. В отличие от .xlsx, который изначально позиционировался как открытый стандарт, .xlsb остаётся форматом, тесно связанным с реализацией Microsoft, хотя его структура описана в публичной спецификации.
