Конвертация таблиц Excel в формат XML

Иван Корнев·11.04.2026·5 мин

Чтобы перевести файл Excel в XML, проще всего использовать встроенную функцию «Сохранить как» с выбором типа файла «XML-данные» (требуется вкладка «Разработчик») или воспользоваться онлайн-конвертерами для разовых задач. Для сложной структуры данных, необходимой специфическим системам (1С, сайты), рекомендуется использование скриптов на Python или промежуточная конвертация через CSV. Выбор метода зависит от требований к структуре итогового файла и объема обрабатываемой информации.

Главное правило: Перед конвертацией обязательно приведите таблицу к виду базы данных: первая строка — заголовки столбцов, нет объединенных ячеек, пустых строк и лишних листов. Это гарантирует корректность полученного XML.

Зачем нужен перевод в XML

Формат XML (Extensible Markup Language) является стандартом для обмена данными между разнородными системами. В отличие от визуального формата .xlsx, который ориентирован на человека, XML структурирует информацию так, чтобы её мог легко прочитать программный код.

Основные сценарии использования:

  • Интеграция с учетными системами: Импорт прайс-листов, номенклатуры или заказов в 1С, МойСклад, Битрикс.
  • Веб-разработка: Загрузка товаров в интернет-магазин или обновление контента на сайте.
  • Архивация и перенос: Сохранение данных в формате, не зависящем от версии офисного пакета.

Способ 1: Встроенная функция Microsoft Excel

Этот метод подходит для пользователей лицензионного Microsoft Excel (версии 2007 и новее). Он позволяет сохранить данные непосредственно в формате .xml без стороннего ПО.

Подготовка рабочей среды

По умолчанию вкладка для работы с разметкой скрыта. Её необходимо активировать:

  1. Перейдите в меню ФайлПараметры.
  2. Выберите раздел Настроить ленту.
  3. В правом списке поставьте галочку напротив пункта Разработчик.
  4. Нажмите ОК. На верхней панели появится новая вкладка.

Пошаговая конвертация

  1. Откройте файл Excel. Убедитесь, что данные представлены в виде сплошной таблицы с заголовками в первой строке.
  2. Перейдите на вкладку Разработчик.
  3. В группе «XML» нажмите кнопку Источник (или «Сопоставить элементы», если требуется строгая схема).
    • Простой вариант: Если вам нужна стандартная плоская структура, можно сразу перейти к сохранению.
    • Вариант со схемой: Если принимающая система требует конкретный формат тегов (например, <Article> вместо <Column1>), загрузите файл схемы .xsd через кнопку Схемы и перетащите соответствующие элементы на ячейки таблицы.
  4. Нажмите ФайлСохранить как.
  5. В выпадающем списке типов файлов выберите XML-данные (*.xml).
    • Примечание: Не путайте с «XML-таблица 2003» (устаревший формат сохранения самого документа Excel) или «Веб-страница». Нам нужны именно данные.
  6. Укажите имя файла и нажмите Сохранить.

Если при сохранении появляется предупреждение о том, что файл содержит функции или форматирование, которые не поддерживаются в XML, согласитесь на сохранение только данных. Формулы в итоговый файл не попадут — сохранятся только их вычисленные значения.

Способ 2: Онлайн-конвертеры

Идеальное решение для разовой задачи, когда под рукой нет установленного Excel или нужно быстро получить результат на смартфоне/планшете. Популярные сервисы: Zamzar, Convertio, Aspose.

Алгоритм действий:

  1. Зайдите на сайт конвертера.
  2. Загрузите файл .xls или .xlsx.
  3. Выберите целевой формат XML.
  4. Нажмите «Конвертировать» и скачайте результат.

Ограничения и риски:

  • Безопасность: Никогда не загружайте файлы, содержащие персональные данные клиентов, пароли или коммерческую тайну, на публичные серверы.
  • Структура: Онлайн-сервисы обычно создают простую иерархию (строка -> ячейка), игнорируя сложные связи. Это может не подойти для автоматического импорта в жесткие системы вроде 1С.
  • Лимиты: Бесплатные версии часто ограничивают размер файла (обычно до 50–100 МБ) или количество конвертаций в день.

Способ 3: Связка Google Таблицы + Скрипт

Если у вас нет десктопного Excel, но есть аккаунт Google, можно использовать связку экспорта в промежуточный формат.

  1. Загрузите файл в Google Таблицы.
  2. Нажмите ФайлСкачатьCSV (разделитель — запятая).
  3. Полученный CSV-файл легче обработать программно или через специализированные утилиты «CSV to XML», чем оригинальный бинарный формат Excel.

Этот метод хорош тем, что CSV — это чистый текст. Многие системы импорта принимают сначала CSV, а внутри себя уже конвертируют его в нужный XML, что снимает с пользователя задачу настройки тегов.

Способ 4: Программная конвертация (Python)

Для регулярной выгрузки больших объемов данных или создания специфической структуры (вложенные теги, атрибуты, фильтрация) лучше написать небольшой скрипт. Это исключает человеческий фактор и ошибки форматирования.

Пример логики на языке Python с использованием библиотеки pandas:

import pandas as pd

# Чтение Excel
df = pd.read_excel('data.xlsx')

# Преобразование в словарь и запись в XML
# orient='records' создает структуру: корневой элемент -> строки -> колонки
df.to_xml('output.xml', index=False, root_name='Products', row_name='Product')

Такой подход позволяет:

  • Автоматически очищать данные (удалять пробелы, приводить даты к единому стандарту).
  • Менять названия тегов на лету (например, переименовать Price в Стоимость).
  • Обрабатывать тысячи строк за секунды.

Сравнение методов конвертации

КритерийExcel (Встроенный)Онлайн-сервисыСкрипты (Python)
Сложность настройкиСредняя (нужна схема)Низкая (автоматически)Высокая (нужны знания кода)
Контроль структурыПолный (при наличии XSD)МинимальныйПолный
Безопасность данныхВысокая (локально)Низкая (файл уходит в сеть)Высокая (локально)
Подходит дляРазовых задач, 1СБыстрой проверки, малых файловРегулярной автоматизации

Частые ошибки при конвертации

  1. Отсутствие заголовков. Если первая строка таблицы пустая или содержит объединенные ячейки, парсер не сможет создать корректные имена тегов (использует Column1, Column2 или выдаст ошибку).
  2. Наличие нескольких листов. Стандартные конвертеры часто обрабатывают только активный лист. Данные с других вкладок будут потеряны, если не запустить процесс для каждого листа отдельно.
  3. Специфические символы. Наличие символов <, >, & в тексте ячеек без экранирования может «сломать» итоговый XML-файл. Хорошие конвертеры делают это автоматически, но при ручном редактировании об этом стоит помнить.
  4. Неверный тип сохранения. Пользователи часто выбирают «Веб-страница» или «XML-таблица 2003», получая на выходе громоздкий файл со стилями оформления, а не чистые данные. Выбирайте строго «XML-данные».

Часто задаваемые вопросы (FAQ)

Можно ли открыть полученный XML файл обратно в Excel? Да. В Excel выберите «Файл» → «Открыть» и укажите тип файла «Все файлы» или «XML». Данные импортируются в виде таблицы. Однако формулы и форматирование восстановлены не будут.

Почему 1С не видит мой XML файл? Скорее всего, нарушена структура тегов. 1С часто требует наличия конкретной схемы (XSD) или строгого именования элементов (например, тег должен называться <КоммерческаяИнформация>, а не <Root>). В таком случае используйте метод с подключением схемы во вкладке «Разработчик» или напишите скрипт-трансформер.

В чем разница между XML-данными и XML-таблицей 2003? «XML-таблица 2003» — это формат сохранения самого документа Excel (сохраняет цвета, шрифты, формулы) в текстовом виде. «XML-данные» — это экспорт только содержимого ячеек в универсальном формате для передачи в другие программы. Для интеграции нужен второй вариант.