Формат ODS
ODS — электронная таблица OpenDocument из семейства ISO/IEC 26300. Как и ODT, это ZIP с несжатой записью mimetype в начале, а сама таблица лежит в content.xml. Формулы там записаны синтаксисом OpenFormula: там, где Excel показывает =SUM(A1:A5), в файле хранится of:=SUM([.A1:.A5]) с точками перед адресами. Наш конвертер Excel → PDF принимает только .xlsx и .xls, поэтому .ods придётся сначала пересохранить.
Коротко о цифрах
- Стандарт
- OpenDocument Spreadsheet, ISO/IEC 26300
- Синтаксис формул
- OpenFormula: of:=SUM([.A1:.A5]) вместо =SUM(A1:A5)
- Ответ нашего маршрута
- «Неподдерживаемый тип файла»: разрешены .xlsx и .xls
- Что переносится хуже всего
- макросы — Basic и VBA несовместимы полностью
- Асимметрия списков
- .odp мы принимаем, .ods и .odt — нет
Что ломается при переносе в XLSX
- Функции без пары: у Calc есть свои, у Excel свои, и на месте отсутствующей появляется ошибка вместо значения.
- Макросы не переносятся вообще — код на LibreOffice Basic и код на VBA несовместимы, это разные языки.
- Условное форматирование переживает переход не полностью: сложные правила с формулами могут упроститься.
- Сводные таблицы перестраиваются, а иногда требуют повторного обновления после открытия.
- Числовые форматы и разделители наследуют локаль: проверьте, как выглядят даты и дробные числа после пересохранения.
Почему .ods не принимается
У маршрута Excel → PDF в списке ровно два расширения, .xlsx и .xls, и .ods в него не входит. Файл получит ответ «Неподдерживаемый тип файла», а окно выбора файлов даже не покажет его среди доступных. Так же обстоит дело с .csv: он тоже вне списка, хотя причина у отказа та же самая.
Обидная деталь: презентации OpenDocument мы принимаем — .odp есть в списке маршрута PowerPoint → PDF. Никакой глубокой причины у этой асимметрии нет, просто списки расширений собраны под разные наборы форматов, и таблицы ODF в них не попали.
Как получить PDF
- Задайте в Calc область печати и масштаб: «Формат» → «Диапазоны печати», иначе таблица уедет за края листа.
- Прямой путь: «Файл» → «Экспорт в PDF» — Calc напечатает книгу так, как вы её настроили.
- Обходной путь: «Файл» → «Сохранить как» → «Excel 2007-365 (.xlsx)» с подтверждением формата.
- Загрузите .xlsx в наш конвертер и включите альбомную ориентацию, если таблица шире восьми столбцов.
- Проверьте в готовом PDF колонки с формулами: там должны стоять значения, а не сообщения об ошибке.
Частые вопросы
Почему конвертер не принимает .ods, если .odp принимает?
Потому что списки разрешённых расширений заданы отдельно для каждого маршрута, и в презентационный .odp попал, а в табличный .ods нет. Это особенность нашей настройки, а не ограничение формата.
Сохранятся ли формулы при пересохранении в XLSX?
Большинство — да, потому что имена стандартных функций совпадают. Проблемы начинаются со специфичными функциями Calc: у них нет пары в Excel, и ячейка вернёт ошибку вместо значения.
Что делать с макросами при переходе на XLSX?
Переписывать. LibreOffice Basic и VBA — разные языки с разными объектными моделями, автоматического переноса не существует. Для печати в PDF это не важно: в документ попадает только результат.
Открывает ли Excel файлы .ods?
Да, современные версии Excel читают и сохраняют OpenDocument. Но если книга дальше пойдёт по рукам, надёжнее договориться об одном формате: каждый перенос между ODF и OOXML что-нибудь да упрощает.