Таблицы
Формат XLSX: спецификация и направления
Направления в обе стороны: из XLSX и в XLSX, с параметрами каждого преобразования.
Спецификация XLSX
| Полное имя | Office Open XML Workbook |
|---|---|
| Разработчик спецификации | Microsoft |
| Год публикации | 2007 |
| Расширение | .xlsx |
| MIME-тип | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
| Тип содержимого | Двоичное |
| Многостраничность | Реализована |
| Структура | ZIP-контейнер с XML |
| Размер листа | 1 048 576 строк × 16 384 столбца |
| Формулы | Хранятся вместе с результатами вычислений |
| Макросы | Не поддерживаются, только в XLSM |
| Стандарт | ECMA-376 / ISO 29500 |
| Читающие программы | Microsoft Excel, LibreOffice Calc, Google Таблицы, OnlyOffice, Apple Numbers, WPS Office |
| Документ спецификации | Открыть спецификацию |
XLSX → другие форматы
| Направление | Что получится | Точность |
|---|---|---|
| .xlsx.pdf | Конвертация Excel в PDF | близкая |
| .xlsx.csv | Конвертация XLSX в CSV | близкая |
| .xlsx.json | Конвертация XLSX в JSON | близкая |
| .xlsx.ods | Конвертация XLSX в ODS | близкая |
| .xlsx.xml | Конвертация XLSX в XML | близкая |
Другие форматы → XLSX
| Направление | Что получится | Точность |
|---|---|---|
| .pdf.xlsx | Конвертация PDF в Excel | приблизительная |
| .csv.xlsx | Конвертация CSV в XLSX | близкая |
| .xls.xlsx | Конвертация XLS в XLSX | близкая |
| .json.xlsx | Конвертация JSON в XLSX | близкая |
| .ods.xlsx | Конвертация ODS в XLSX | близкая |
Спецификация XLSX
XLSX — SpreadsheetML в ZIP-контейнере: лист хранится как разреженная таблица, где записаны только заполненные ячейки, текст вынесен в общий словарь строк, а рядом с формулой лежит закешированное значение последнего пересчёта. Предельная размерность листа — 1 048 576 строк на 16 384 столбца.
Числа хранятся как IEEE 754 двойной точности, и это определяет две особенности. Первая: точность ограничена пятнадцатью значащими десятичными цифрами — номер счёта или EAN-13 из шестнадцати цифр потеряет последний разряд, если попадёт в ячейку как число, а не как текст. Вторая: даты — это порядковый номер дня от 1 января 1900 года, причём в модели сохранена ошибка с несуществующим 29 февраля 1900-го ради совместимости с Lotus 1-2-3. Время — дробная часть того же числа.
Всё, что делает таблицу инструментом, живёт только внутри формата: формулы и их зависимости, сводные таблицы, диаграммы, условное форматирование, проверка ввода, именованные диапазоны, связи между листами. Ни один текстовый формат обмена этого не хранит. При выгрузке в CSV остаётся один лист и только вычисленные значения; при выгрузке в JSON — значения и структура полей.
Отдельного внимания требует граница с внешними системами. CSV не имеет типов: всё, что в нём записано, — строки, а трактовку выбирает принимающая программа, из-за чего артикул 007123 превращается в 7123, а 03.04.2025 читается по локали как 4 марта или 3 апреля. Кириллица в UTF-8 без метки BOM открывается в Excel как последовательность латиницы и знаков препинания. Файлы .xlsm несут макросы VBA, внешние связи при переносе теряют источник, а листы, защищённые паролем структуры, читаются, но не пересобираются.
Форматы того же класса
Остальные записи класса «Таблицы». Для каждой заведена своя страница с полным перечнем направлений: и от XLSX, и к нему.
Вопросы по формату XLSX
Почему в выгрузке пропали формулы?
Выражений ни CSV, ни JSON не предусматривают — только значения. В файл записывается закешированный результат последнего пересчёта — ровно то, что отображается в ячейке. Это не потеря данных, а свойство целевого формата: принимающая система всё равно не имеет вычислительного движка. Если выражения должны сохраниться, целевым форматом может быть только XLSX или ODS.
Как перенести длинные номера без потери разрядов?
В самом CSV значение записывается посимвольно и не искажается — разряды теряет принимающая программа, когда угадывает тип столбца. В Excel такую выгрузку импортируют командой «Данные → Получить данные → Из текста/CSV», назначая столбцу текстовый тип вручную. Когда файл предназначен человеку, а не системе, надёжнее XLSX: формат ячейки хранится там рядом со значением.
Сколько листов попадёт в результат?
В CSV — один, первый по порядку: формат описывает единственную плоскую таблицу и не имеет понятия листа. В JSON и XML переносится структура целиком, если направление это поддерживает. ODS сохраняет все листы вместе с формулами. Для выгрузки нескольких листов в CSV каждый лист конвертируется отдельным заданием.