Перейти к содержимому
pdftools.kz

Формат XLS (Excel 97–2003)

Книга .xls хранится как последовательность двоичных записей BIFF внутри составного файла OLE — того же контейнера, в котором лежит .doc, с теми же первыми байтами D0 CF 11 E0. Лист ограничен 65 536 строками и 256 столбцами до IV включительно. Наш конвертер такие книги не берёт: сервер отвечает кодом LEGACY_FORMAT_NOT_SUPPORTED и просит сохранить файл как .xlsx.

Локально в браузеребез регистрации

Коротко о цифрах

Сетка листа
65 536 строк × 256 столбцов, последний — IV
Первые байты
D0 CF 11 E0 A1 B1 1A E1 — те же, что у .doc и .ppt
Ответ сервера
400 и LEGACY_FORMAT_NOT_SUPPORTED, до конвертации
Что принимается
только .xlsx; .xlsb и .csv в список не входят
Внутреннее устройство
записи BIFF в составном файле OLE, не текст

Потолок в 65 536 строк — это не мелочь

Ограничение сетки — главная практическая разница между XLS и XLSX. Выгрузка из учётной системы на сто тысяч строк в старый формат просто не помещается, и при сохранении Excel предупреждает, что данные будут усечены. Столбцов тоже всего 256: таблица с посуточной разбивкой за год в XLS не влезает по ширине.

Вторая разница — в способе чтения. XLSX разбирается любой библиотекой как ZIP с XML, а XLS требует разбора двоичных записей с указателями. Поэтому онлайн-сервисы и серверные конвейеры массово отказались от него: возни много, а поведение на краевых файлах непредсказуемое.

Что происходит при попытке загрузки

  • Окно выбора файла .xls пропускает: в списке типов конвертера есть application/vnd.ms-excel.
  • Файл уходит на сервер, но конвертация не начинается — проверка на .doc, .xls и .ppt стоит раньше всего остального.
  • Возвращается статус 400 и код LEGACY_FORMAT_NOT_SUPPORTED, а на экране — просьба сохранить как .xlsx.
  • Формат .xlsb, двоичный вариант новой книги, тоже не принимается: в списке разрешённых расширений маршрута его нет.
  • Файл .csv отклоняется по другой причине — как неподдерживаемый тип, потому что маршруту разрешены только .xlsx и .xls.

Как пересохранить книгу

  1. Откройте .xls в Excel и выберите «Файл» → «Сохранить как» → «Книга Excel (*.xlsx)».
  2. В LibreOffice Calc это «Файл» → «Сохранить как» → «Excel 2007-365 (.xlsx)» с подтверждением формата.
  3. Проверьте макросы: код VBA в обычный .xlsx не сохраняется, для него нужен .xlsm — но в PDF он всё равно не попадёт.
  4. Просмотрите условное форматирование и диаграммы: они переносятся, но легенды и подписи иногда смещаются.
  5. Загрузите готовый .xlsx в конвертер Excel → PDF и выберите ориентацию.

Частые вопросы

Влезут ли все данные при пересохранении из XLSX в XLS?

Не всегда: старый формат держит 65 536 строк и 256 столбцов. Всё, что не помещается, при сохранении отсекается, и Excel показывает предупреждение. Обратный переход, из XLS в XLSX, проходит без потерь по объёму.

Почему у .xls и .doc одинаковые первые байты?

Оба лежат в контейнере составного документа OLE — это общая оболочка для нескольких старых форматов Microsoft. Различает их не сигнатура, а внутренние потоки, поэтому на практике тип определяется по расширению.

Можно ли загрузить .xls, если переименовать его в .xlsx?

Нет. Сервер проверяет первые четыре байта на сигнатуру ZIP, а у двоичной книги их нет. Вы получите сообщение о том, что содержимое не совпадает с расширением, и конвертация не начнётся.

Что делать с макросами при переходе на новый формат?

Сохраняйте книгу как .xlsm, если код нужно оставить рабочим: обычный .xlsx макросы не хранит. Для печати в PDF это не важно — выполняться там нечему, в документ попадает только результат.

Рядом