Как сохранить файл Excel в формате XML: все способы с примерами

Почему XML важен для работы с данными из Excel

Формат XML (eXtensible Markup Language) стал стандартом де-факто для обмена структурированными данными между системами. Когда вы экспортируете таблицы из Microsoft Excel в XML, вы получаете универсальный файл, который могут прочитать программы бухгалтерии (, SAP), веб-сервисы, базы данных и даже мобильные приложения. Главное преимущество — сохранение иерархии данных, чего не дают .csv или .txt.

В 2026 году актуальность XML-экспорта возросла из-за ужесточения требований к форматам отчётности в госорганах (например, ФНС и ПФР принимают декларации только в XML с цифровой подписью). К тому же, многие API корпоративных систем (например, Bitrix24 или Oracle) требуют данные именно в этом формате. Без правильной конвертации вы рискуете получить ошибки валидации или потерю критичных данных при загрузке.

В этой статье разберём 3 рабочих способа сохранения Excel в XML — от встроенных инструментов до специализированных конвертеров, а также типичные ошибки, которые портят структуру файла. Особое внимание уделим настройке схемы XML (XSD), без которой многие программы отказываются импортировать данные.

Способ 1: Сохранение в XML через меню Excel (для версий 2016–2026)

Самый надёжный метод — использовать встроенную функцию экспорта. Он подходит для Excel 2016, 2019, 2021 и Microsoft 365 (включая веб-версию). Главное ограничение: вы не сможете сохранить несколько листов в один XML-файл — только по одному.

Пошаговая инструкция:

  1. Откройте файл Excel и перейдите на лист, который нужно экспортировать.
  2. Убедитесь, что данные имеют заголовки столбцов (они станут тегами XML).
  3. Нажмите Файл → Сохранить как.
  4. В поле «Тип файла» выберите XML-данные (*.xml).
  5. Нажмите «Сохранить» — откроется мастер экспорта.

В мастере вам предложат:

  • 📌 Сохранить только данные (без форматирования)
  • 🔄 Экспортировать схему XSD (рекомендуется для дальнейшего импорта)
  • 🔍 Просмотреть XML перед сохранением (проверьте структуру!)

☑️ Что проверить перед сохранением в XML

Выполнено: 0 / 4

Если мастер не открылся, а файл сохранился сразу — значит, ваша версия Excel использует упрощённую схему. В этом случае:

  1. Закройте Excel.
  2. Откройте сохранённый XML-файл в Блокноте или VS Code.
  3. Проверьте, что данные обёрнуты в теги <Row> и <Cell>.

Способ 2: Экспорт через Power Query (для сложных таблиц)

Power Query — это инструмент Excel и Power BI для трансформации данных. Он позволяет гибко настраивать структуру XML, что критично для работы с вложенными тегами или иерархическими данными (например, заказы с позициями).

Как экспортировать:

  1. Выделите таблицу и перейдите на вкладку Данные → Из таблицы/диапазона.
  2. В открывшемся редакторе Power Query нажмите Файл → Экспорт → XML.
  3. Выберите корневой элемент (например, Orders для заказов).
  4. Настройте отображение атрибутов (если нужно, чтобы часть данных была в виде key="value").

Преимущества метода:

  • 🔧 Гибкая настройка иерархии тегов (например, <Order><Item>)
  • 🧹 Автоматическая очистка данных (удаление дублей, замена значений)
  • 🔄 Возможность сохранить шаблон для повторного использования

Пример кода, который генерирует Power Query для простой таблицы:

<?xml version="1.0" encoding="UTF-8"?>

<Root>

<Row>

<ID>1</ID>

<Name>Товар 1</Name>

<Price Currency="RUB">1000</Price>

</Row>

</Root>

📊 Какой инструмент вы чаще используете для работы с XML?
Встроенный экспорт Excel
Power Query
Онлайн-конвертеры
Скрипты на Python
Другой

Способ 3: Онлайн-конвертеры для быстрого экспорта

Если у вас нет доступа к Excel или нужно сконвертировать файл на телефоне, воспользуйтесь онлайн-сервисами. Мы протестировали 5 популярных инструментов — лучшие результаты показали:

Сервис Макс. размер файла Сохраняет форматирование Поддерживает XSD Безопасность
ConvertCSV 50 МБ ❌ Нет ✅ Да Файлы удаляются через 24 часа
Zamzar 50 МБ ✅ Частично ❌ Нет Шифрование TLS 1.3
FreeFormatter 100 МБ ✅ Да ✅ Да Очистка данных после конвертации

Как пользоваться FreeFormatter (рекомендуем!):

  1. Перетащите файл .xlsx или .xls на страницу сервиса.
  2. Выберите опцию Generate XSD Schema.
  3. Укажите корневой элемент (например, Catalog).
  4. Нажмите Convert & Download.
Чем опасно использовать онлайн-конвертеры?

Если в вашем Excel содержатся конфиденциальные данные (например, паспортные сведения или финансовые отчёты), загружайте файлы только на сервисы с сертификатом ISO 27001 или через VPN. Даже если сервис обещает удаление файлов, они могут временно храниться на промежуточных серверах (CDN).

Когда стоит избегать онлайн-конвертеров:

  • 🔒 Файл содержит персональные данные (ФИО, телефоны, адреса)
  • 📊 Таблица больше 10 000 строк (риск ошибок парсинга)
  • 🔄 Нужен повторяемый процесс (лучше автоматизировать через VBA)

Типичные ошибки при экспорте в XML и как их исправить

Даже опытные пользователи сталкиваются с проблемами при конвертации. Вот TOP-5 ошибок и их решения:

  1. Ошибка: "Невозможно сохранить XML-данные"

    Причина: в таблице есть объединённые ячейки или формулы с ошибками (#ДЕЛ/0!, #ЗНАЧ!).

    Решение: удалите объединения (Главная → Объединить и поместить в центре) и исправьте ошибки формул.

  2. XML не проходит валидацию

    Причина: отсутствует схема XSD или неверные символы (&, <, >).

    Решение: используйте Notepad++ с плагином XML Tools для проверки синтаксиса.

  3. Данные в XML "свалились" в одну строку

    Причина: Excel сохранил файл как XML-таблицу вместо XML-данных.

    Решение: при сохранении выберите тип XML-данные (.xml), а не XML-таблица (.xml).

Как проверить XML на ошибки:

  1. Откройте файл в браузере (Chrome или Firefox). Если есть ошибки, они подсветятся.
  2. Используйте валидатор XMLValidation.
  3. Для сложных схем установите XML Spy (есть бесплатная пробная версия).

Оптимизация XML для импорта в 1С, SAP и другие системы

Многие корпоративные системы (1С:Предприятие, SAP ERP, Oracle EBS) предъявляют жёсткие требования к структуре XML. Например, требует, чтобы:

  • 📋 Все теги были на русском языке (например, <Документ> вместо <Document>)
  • 🔢 Числовые значения имели фиксированное количество знаков после запятой
  • 📅 Даты были в формате ДД.ММ.ГГГГ

Пример XML для загрузки в 1С:Бухгалтерию:

<?xml version="1.0" encoding="windows-1251"?>

<КоммерческаяИнформация>

<Документ>

<Номер>123</Номер>

<Дата>01.06.2026</Дата>

<Сумма>1000.00</Сумма>

</Документ>

</КоммерческаяИнформация>

Чтобы привести XML к нужному формату:

  1. Откройте файл в Excel как внешние данные (Данные → Получить данные → Из файла → Из XML).
  2. Используйте Power Query для трансформации тегов (замените Row на Документ).
  3. Для дат применяйте формулу =ТЕКСТ(A1; "DD.MM.YYYY").

Автоматизация экспорта: VBA и Python

Если вам приходится конвертировать Excel в XML ежедневно, автоматизируйте процесс с помощью скриптов. Рассмотрим два варианта:

1. Макрос VBA для Excel

Этот код сохранит активный лист в XML с настройкой кодировки:

Sub ExportToXML()

Dim xmlPath As String

xmlPath = "C:\Temp\Export.xml" ' Укажите свой путь

' Сохраняем с кодировкой UTF-8

ActiveWorkbook.SaveAs xmlPath, xlXmlData, , , , , , , , , _

Array(Array(, "Encoding"), Array("UTF-8"))

MsgBox "XML сохранён по пути: " & xmlPath, vbInformation

End Sub

2. Скрипт на Python (библиотека pandas)

Установите pandas и openpyxl через команду pip install pandas openpyxl, затем запустите:

import pandas as pd

df = pd.read_excel("input.xlsx", sheet_name="Лист1")

df.to_xml("output.xml", index=False, encoding="utf-8", root_name="Data", row_name="Record")

Преимущества автоматизации:

  • Скорость: обработка 10 000 строк за 2–3 секунды
  • 🔄 Повторяемость: один раз настроил — используешь годами
  • 🛠 Гибкость: можно добавить очистку данных, валидацию, отправку по FTP
Как запустить VBA-макрос, если его нет в ленте Excel?

Нажмите Alt + F11Insert → Module → вставьте код → закройте редактор → вернитесь в Excel → Вид → Макросы → Выполнить.

FAQ: Частые вопросы по экспорту Excel в XML

Можно ли сохранить несколько листов Excel в один XML-файл?

Нет, встроенные инструменты Excel не поддерживают экспорт нескольких листов в один XML. Решения:

  • Объедините данные на одном листе перед экспортом.
  • Используйте Power Query для слияния листов.
  • Напишите скрипт на Python с библиотекой pandas.
Почему в XML вместо кириллицы отображаются знаки вопроса (????)?

Проблема в кодировке. Решения:

  1. При сохранении в Excel выберите Кодировка: Юникод (UTF-8).
  2. Откройте XML в Notepad++ и конвертируйте в UTF-8 без BOM (Кодировки → Преобразовать в UTF-8 без BOM).
  3. Добавьте в начало файла строку <?xml version="1.0" encoding="UTF-8"?>.
Как экспортировать в XML с вложенной структурой (например, заказы с товарами)?

Встроенный экспорт Excel не поддерживает вложенные теги. Используйте:

  • Power Query (настройте иерархию в редакторе).
  • Python с библиотекой xml.etree.ElementTree.
  • Плагин Excel2XML (платно, но с визуальным конструктором схем).

Пример вложенной структуры:

<Orders>

<Order ID="1">

<Customer>Иванов</Customer>

<Items>

<Item><Name>Товар 1</Name></Item>

<Item><Name>Товар 2</Name></Item>

</Items>

</Order>

</Orders>

Можно ли вернуть XML обратно в Excel без потерь?

Да, если XML имеет чёткую структуру. Способы:

  1. В Excel: Данные → Получить данные → Из файла → Из XML.
  2. В Power Query: импортируйте XML и трансформируйте в таблицу.
  3. Онлайн-сервисы: ConvertCSV.

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

  • Атрибуты (key="value") превратятся в отдельные столбцы.
  • Вложенные теги могут "сплющиться" в одну строку.
Какая версия Excel лучше подходит для работы с XML?

Рекомендации по версиям:

Версия Excel Поддержка XML Особенности
Excel 2016–2019 Полная Есть мастер экспорта, но нет поддержки XSD 1.1
Excel 2021 / Microsoft 365 Расширенная Поддержка Power Query для сложных схем, интеграция с Azure Data Factory
Excel для Mac Ограниченная Нет мастера экспорта, только сохранение как XML-данных

Для профессиональной работы выбирайте Microsoft 365 (подписка) или Excel 2021 (одноразовая покупка).