Excel в PDF

Выберите файл .xlsx — таблица ляжет на листы PDF так, чтобы её можно было отправить или распечатать. Колонки подбираются по содержимому, шапка повторяется на каждой странице, даты читаются как даты. Файл обрабатывается во вкладке и на сервер не отправляется.

Библиотеки сборки PDF весят около полутора мегабайт и загрузятся при первом файле.

Как читаются значения ячеек

Тип берётся из самой ячейки и её формата. Число, дата и текст в xlsx хранятся по-разному, и без разбора форматов дата выглядела бы пятизначным числом.

Что в ячейкеКак лежит в файлеЧто попадёт в PDF

Сколько колонок помещается на лист

Считается по выбранному кеглю: ширина листа за вычетом полей делится на колонку в двенадцать знаков — типичную для дат и денежных сумм. Значения меняются вместе с настройками выше.

Лист и ориентацияШирина блокаКолонок по 12 знаковСтрок на странице

Что читается из таблицы и как

Инструмент открывает книгу .xlsx и превращает выбранный лист в таблицу на страницах PDF. Ширина колонок подбирается по содержимому, длинные значения переносятся внутри ячейки по словам, а первая строка при желании становится шапкой и повторяется наверху каждой страницы. Это нужно, когда таблицу надо отправить или распечатать так, чтобы получатель увидел ровно то же самое и не полез в неё править.

Значения читаются с разбором форматов, и это важнее, чем кажется. Дата в Excel хранится числом дней от конца 1899 года, и без чтения формата ячейки первое января 2026 года выглядело бы как 46 023. Результаты формул берутся из посчитанных значений, которые Excel хранит рядом с самой формулой, поэтому в PDF попадают посчитанные числа, а сами формулы остаются в Excel.

Бухгалтерская книга
Электронная таблица повторила разлинованную бухгалтерскую книгу почти буквально. Фото: Викисклад, CC0.
Что в ячейкеКак лежит в файлеЧто попадёт в PDF
Текстt="s"Как есть, из общего словаря строк.
Числобез tС запятой как разделителем дробной части.
Датачисло + форматВ виде дд.мм.гггг.
Формулаf и v рядомПосчитанный результат.
Логическоеt="b"ИСТИНА или ЛОЖЬ.
Заливка и цветstyles.xmlНе переносятся.

История: VisiCalc, Lotus и лишний день 1900 года

Электронная таблица началась в 1979 году с программы VisiCalc для Apple II: Дэн Бриклин и Боб Фрэнкстон сделали разлинованный лист, где ячейка могла ссылаться на соседние и пересчитываться сама. Продукт оказался тем самым приложением, ради которого покупали компьютер: бухгалтеры брали Apple II именно под VisiCalc. Дальше пришли Lotus 1-2-3 в 1983 году и Excel в 1985-м — сначала для Macintosh, и только потом для Windows.

Долгие годы Excel писал в закрытый двоичный .xls, который приходилось разбирать вслепую. Формат .xlsx, появившийся в Office 2007 и описанный стандартом ECMA-376, устроен иначе: zip-архив с XML, где текст лежит в общем словаре строк, форматы в отдельном файле, а лист — просто перечень заполненных ячеек с адресами. Именно поэтому таблицу можно разобрать в браузере, ничего не устанавливая.

Одна деталь того времени дожила до наших дней и до сих пор ломает расчёты. В нумерации дат Excel есть 29 февраля 1900 года — день, которого не существовало: високосным 1900 год не был. Ошибку сохранили намеренно, ради совместимости с Lotus 1-2-3, и она живёт в формате уже четвёртое десятилетие.

Компьютер Apple II
Электронную таблицу покупали вместе с компьютером — ради неё компьютер и брали. Фото: Rama & Musée Bolo, CC BY-SA 2.0 fr.
Столбцы цифр в отчёте
Столбцы значений с итогом внизу — форма старше любых программ. Фото: Викисклад, общественное достояние.

Как уложить таблицу на лист

Выберите файл, затем нужный лист: под полем сразу видно, сколько строк, колонок и заполненных ячеек нашлось и на сколько страниц PDF это ляжет. Широкую таблицу лучше собирать в альбомной ориентации и кеглем поменьше — двадцать колонок на книжном A4 читаются плохо при любом подборе ширины. Переключатель шапки стоит выключать для таблиц без заголовков, иначе первая строка данных уедет наверх каждой страницы.

Перед сборкой полезно посмотреть на превью: если вместо дат стоят пятизначные числа, значит в исходной таблице ячейкам не задан формат даты — поправьте это в Excel и возвращайтесь: сам по себе набор цифр отличить от даты невозможно. Обратная задача решается на странице PDF в текст, а для перевода таблицы в другой формат обмена есть CSV в JSON и обратно.

Входной формат.xlsx
Листов в книгелюбое число
Размер листаA4, Letter, A3
Ориентациякнижная и альбомная
Кегльот 5 до 14 пт
Шапка на каждой страницепо выбору
База дат Excel30.12.1899
Стандарт .xlsxECMA-376, 2006
Файл на серверне отправляется

Как пользоваться

  1. Перетащите .xlsx в поле или нажмите на него.
  2. Если листов несколько, нужный выбирается в списке.
  3. Ориентация, размер листа, поля и кегль; ширина колонок подстроится сама.
  4. Кнопка собирает документ и скачивает его.

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

Какие файлы читаются

Только .xlsx — формат Excel начиная с 2007 года. Внутри это zip-архив с XML, и его можно разобрать прямо в браузере. Старый двоичный .xls и формат .xlsb здесь не открываются: пересохраните такой файл в Excel или в бесплатном офисном пакете как «Книга Excel (.xlsx)». Файл .csv тоже не подойдёт: это простой текст без архива внутри.

Что переносится в PDF

Значения ячеек всех заполненных строк и колонок выбранного листа, включая результаты формул: Excel хранит рядом с формулой её последний посчитанный результат, он и попадает в PDF. Даты, время, проценты и денежные суммы распознаются по формату ячейки. Не переносятся заливка, цвет шрифта, условное форматирование, диаграммы, картинки, примечания и объединение ячеек.

Почему дата превратилась бы в пятизначное число

Потому что в файле она им и записана. Excel хранит дату как количество дней, прошедших от 30 декабря 1899 года: 1 января 2026 года — это 46 023. Отличить такое число от обычного можно только по формату ячейки, поэтому здесь разбирается xl/styles.xml и дата выводится как дата. Время внутри дня хранится дробной частью того же числа. Отдельная тонкость: в нумерации Excel есть несуществующее 29 февраля 1900 года, и первые два месяца 1900 года пересчитываются с поправкой на него.

Как подбирается ширина колонок

По самому длинному значению в колонке: сначала измеряется каждая, потом все вместе сжимаются до ширины листа пропорционально. Колонка не может стать уже трёх знаков и шире трети листа — иначе одна длинная строка съела бы всю таблицу. Слишком длинные значения переносятся внутри ячейки по словам, а строка становится выше.

Что происходит с широкой таблицей

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

Повторяется ли шапка на каждой странице

Да, если включён переключатель. Первая строка листа считается шапкой: она рисуется жирным и повторяется вверху каждой страницы. Для таблицы без заголовков переключатель стоит выключить.

Файл не уходит на сервер

Нет. Архив распаковывается в памяти вкладки, XML разбирается там же, PDF собирается библиотекой pdf-lib и сразу отдаётся на скачивание. С сервера подтягиваются только библиотеки и шрифт, и только после того, как вы выбрали файл.

Сколько строк потянет вкладка

Несколько десятков тысяч строк собираются за секунды. Дальше упирается уже сам смысл затеи: таблица на сто тысяч строк займёт больше двух тысяч страниц PDF. Для таких объёмов разумнее выгружать нужный срез или сводную таблицу.

Ещё инструменты для документов и денег

НДС и сумма прописью, проверка чека по QR-коду, переработки и алименты, объединение, сжатие и перевод PDF — в разделе 25 инструментов.