EXCEL в HTML: конвертация без потери качества онлайн

💻 IT и кодОбновлено: 13 июля 2026 г.4 мин чтения
Нужно быстро превратить таблицу Excel в HTML-страницу для сайта, отчёта или рассылки? Рассказываю, как это сделать с минимальными потерями форматирования: от консольных утилит до онлайн-конвертеров, и на что жалуются разработчики в 2026 году.
⚡ Коротко: главное
  • Бесплатные онлайн-конвертеры (вроде нашего Excel в HTML) справляются с 90% задач за секунды, но сложные формулы и макросы не переносятся.
  • Для точного контроля используйте Python с openpyxl: он даёт сырой HTML с ячейками, стилями и объединениями без лишних библиотек.
  • Power Query в Excel 2026 умеет экспортировать таблицы прямо в HTML-файл через надстройку «Экспорт в разметку», доступную в Microsoft Store.
  • Всегда проверяйте кодировку UTF-8: кириллица в исходном Excel часто сохраняется в ANSI, что даёт кракозябры в браузере.

1. Почему не подходит «Сохранить как HTML» в Excel

Казалось бы, в Excel есть штатная функция «Файл → Сохранить как → Веб-страница». Но на практике она генерирует устаревший HTML с кучей лишних стилей, неработающими CSS-классами и кривым отображением на современных экранах. Например, Excel 2026 добавляет обёртку xmlns:o="urn:schemas-microsoft-com:office:office", которая не нужна и только путает вёрстку.

Проблемы такого подхода:

  • Раздутый код — одна таблица 10×10 может весить 200 КБ вместо 5 КБ.
  • Жёсткая привязка к IE — многие свойства (например, mso-number-format) не поддерживаются Chrome.
  • Потеря формул — в HTML попадают только вычисленные значения, без самих формул.
Если нужно получить именно «живой» HTML с возможностью редактирования — используйте Excel в HTML из нашего каталога. Он чистит лишнее и выдаёт валидный код.

2. Python + openpyxl: гибкий конвертер для разработчиков

Для проектов, где нужен полный контроль над разметкой, лучше всего написать скрипт на Python. Библиотека openpyxl позволяет читать файлы .xlsx и генерировать HTML-таблицу построчно.

Пример базового скрипта:

from openpyxl import load_workbook

wb = load_workbook('data.xlsx')
ws = wb.active

html = '<table>'
for row in ws.iter_rows(min_row=1, max_row=ws.max_row, values_only=False):
    html += '<tr>'
    for cell in row:
        val = cell.value if cell.value else ''
        style = f'style="text-align:{cell.alignment.horizontal};"' if cell.alignment.horizontal else ''
        html += f'<td {style}>{val}</td>'
    html += '</tr>'
html += '</table>'

with open('output.html', 'w', encoding='utf-8') as f:
    f.write(html)

Этот код можно доработать: добавить обработку объединённых ячеек (rowspan/colspan), цветов (cell.fill) и шрифтов (cell.font).

Подводные камни:

  • Объединённые ячейки — openpyxl не всегда корректно определяет границы. Используйте ws.merged_cells.ranges.
  • Даты — преобразуйте cell.value в строку через str(cell.value) или форматируйте вручную.
  • Пустые строкиmax_row может включать пустые строки в конце. Лучше проверять cell.value is not None.

3. Power Query в Excel 2026: новый способ экспорта

В Excel 2026 появилась надстройка «Экспорт в разметку», которая умеет напрямую сохранять выделенный диапазон как HTML-таблицу. Это удобно для нерегулярных задач: не нужно писать код.

Как сделать:

  1. Выделите нужный диапазон данных.
  2. На вкладке Данные выберите Получить данные → Из таблицы/диапазона (откроется Power Query).
  3. В Power Query нажмите Файл → Экспорт → Экспорт в HTML.
  4. Выберите папку и имя файла — готово.
Минус: надстройка платная (подписка Microsoft 365 Business). Для разовых конвертаций выгоднее бесплатные онлайн-сервисы, например Excel в HTML.

Чего не умеет:

  • Формулы — только значения.
  • Условное форматирование теряется.
  • Макросы VBA не работают.
Как конвертировать Excel в HTML за 5 шагов
  1. 1
    Подготовьте файл

    Очистите лишние листы и удалите макросы – они не переносятся.

  2. 2
    Выберите метод

    Онлайн-конвертер (быстро) или скрипт Python (гибко).

  3. 3
    Загрузите файл

    Для онлайн-сервисов – до 10 МБ, для Python – любой размер.

  4. 4
    Настройте параметры

    Кодировка UTF-8, включите стили (цвета, границы).

  5. 5
    Проверьте результат

    Откройте HTML в браузере, проверьте объединённые ячейки и кириллицу.

Универсальная инструкция для любого способа.

4. Бесплатные онлайн-конвертеры: сравнение (2026)

Для быстрой конвертации без установки программ удобны онлайн-сервисы. Сравним три популярных варианта по состоянию на июль 2026:

Сервис Макс. размер файла Сохраняет стили Без рекламы
наш Excel в HTML 10 МБ Да (цвета, границы) Да
Convertio 100 МБ (бесплатно 10) Частично Нет
Tableizer 5 МБ Нет (только текст) Да

Рекомендация: для простых таблиц с минимальным форматированием подойдёт Tableizer, но если нужны цвета и границы — используйте наш конвертер или Convertio.

Чек-лист конвертации Excel → HTML

0 из 10

5. Как сохранить формулы в HTML?

Стандартный HTML не поддерживает вычисления, но можно встроить JavaScript или сохранить формулы как текст. Три подхода:

  • Текстовое представление — записать формулу в data-formula атрибут, а значение вывести отдельно. JS при желании может пересчитывать.
  • Использовать MathJax/KaTeX — если формулы математические (например, из Excel), их можно преобразовать в LaTeX и вставить в <span class="math">. Для таблиц с расчётами это избыточно.
  • Гибрид: HTML + JSON — сериализовать таблицу в JSON и вставить в <script type="application/json">. Это удобно для SPA.
Если вам нужно сохранить именно логику расчётов, подумайте об экспорте в Google Sheets — он умеет публиковать интерактивные таблицы на HTML.

6. Частые проблемы и их решение

Проблема 1. Кириллица отображается как вопрос

Причина: файл сохранён в кодировке Windows-1251, а HTML указан как UTF-8. Решение: явно указывайте <meta charset="UTF-8"> и конвертируйте Excel в UTF-8 перед экспортом (в Excel: Файл → Сохранить как → CSV UTF-8).

Проблема 2. Объединённые ячейки разъезжаются

В HTML их нужно заменять на rowspan и colspan. Онлайн-конвертеры обычно делают это автоматически, но если пишете скрипт — не забудьте обработать ws.merged_cells.ranges.

Проблема 3. Слишком большой HTML-файл

Уберите лишние <style> и используйте классы CSS вместо инлайн-стилей. Например, вместо style="background-color: #FFFF00;" задайте класс .yellow-bg.

7. Альтернативные форматы: ODT, FB2, RTF

Если вам нужно получить HTML из других офисных форматов, у нас есть отдельные сервисы:

  • ODT в HTML — из LibreOffice Writer в веб-страницу.
  • FB2 в HTML — для чтения электронных книг в браузере.
  • HTML в FB2 — если нужно наоборот.
  • RTF в HTML — для старых документов Word.

Принцип конвертации похож: разбор исходного формата и генерация семантически верного HTML. У каждого сервиса есть ограничения (например, сложные таблицы в FB2).

🧮 Посчитайте сами — инструменты по теме

🧭 Разделы по теме

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

Как конвертировать Excel в HTML с сохранением формул?

Стандартный HTML не умеет выполнять вычисления. Но вы можете сохранить формулы как текст с помощью атрибута data-formula или использовать JavaScript для их реализации. Либо экспортируйте в Google Sheets и опубликуйте — там формулы останутся живыми.

Почему после конвертации Excel в HTML пропали границы ячеек?

Скорее всего, вы использовали «Сохранить как HTML» из Excel — он часто теряет стили. Используйте онлайн-конвертер, который явно обрабатывает границы, или напишите скрипт на openpyxl с копированием cell.border.

Есть ли способ конвертировать Excel в HTML бесплатно?

Да, множество. Наш сервис Excel в HTML бесплатен для файлов до 10 МБ. Также есть Convertio (10 МБ бесплатно) и скрипты на Python с openpyxl — они абсолютно бесплатны.

Как вставить Excel-таблицу на сайт WordPress?

Сконвертируйте таблицу в HTML, скопируйте код и вставьте в редактор WordPress в режиме «Текст» (не визуальный). Если таблица большая, используйте плагин TablePress — он принимает импорт из Excel.

Можно ли конвертировать Excel в HTML через Google Таблицы?

Да. Загрузите файл в Google Таблицы, затем выберите Файл → Опубликовать в Интернете → Встроить — получите iframe с таблицей. Это не чистый HTML, но для вставки на сайт подойдёт.

Что такое data-excel-в-html и зачем он нужен?

Это сервис, который автоматически очищает Excel-мусор (избыточные стили, XML-обёртки) и выдаёт валидный HTML. Удобен, когда не хочется разбираться с настройками. Наш Excel в HTML делает именно это.

Как конвертировать Excel 2026 в HTML с макросами?

Макросы VBA не переносятся в HTML. Если нужна функциональность макросов, придётся переписать их на JavaScript и встроить в страницу. Либо оставить Excel-файл для скачивания, а на сайте показывать статичную таблицу.

Почему после конвертации числа отображаются как даты?

Excel хранит даты как числа (серийные номера). При конвертации в HTML без форматирования эти числа могут быть интерпретированы как даты. Убедитесь, что вы форматируете ячейки как «Числовой» до конвертации.

Источники и нормативные документы

  1. openpyxl documentation
  2. Документация Microsoft по Power Query
  3. MDN Web Docs: таблицы HTML
  4. W3C: HTML 5.2 Table model

Ещё по теме «IT и код»