Функция сохранения Excel-документа в XML доступна не во всех версиях программы, а её реализация зависит от структуры исходной таблицы и целей экспорта. Если при попытке выбрать формат .xml в меню «Сохранить как» соответствующий пункт отсутствует, проблема кроется либо в настройках файла, либо в версии Microsoft Office. В 2019–2026 годах алгоритм экспорта изменился: теперь для корректного преобразования требуется предварительная подготовка данных — удаление объединённых ячеек, проверка именованных диапазонов и выбор правильной кодировки.
Стандартный путь через Файл → Сохранить как → Обзор работает только для таблиц с простой структурой. Если ваш файл содержит сложные формулы, сводные таблицы или макросы, прямой экспорт в XML приведёт к потере данных или искажению структуры. В таких случаях потребуется использовать Power Query, надстройку Developer Tools или сторонние конвертеры. Далее разберём все актуальные методы с учётом особенностей Excel 365, Excel 2021 и Excel 2019.
Некоторые пользователи сталкиваются с ошибкой "Невозможно сохранить в XML из-за недопустимых символов". Она возникает, если в ячейках содержатся специальные символы (например, &, <, >), которые конфликтуют со стандартом XML 1.0. Решение — предварительная очистка данных с помощью функции ЧИСТ() или замена символов вручную. Также проверьте, не превышает ли длина текста в ячейках лимит в 32 767 символов, установленный для XML-экспорта в Excel.
1. Стандартный экспорт через «Сохранить как»
Самый простой способ — использовать встроенную функцию сохранения. Он подходит для таблиц без сложного форматирования и работает в Excel 2010–2026. Алгоритм действий:
- Откройте файл Excel и перейдите в меню
Файл → Сохранить как. - Выберите папку для сохранения и в выпадающем списке
Тип файланайдите вариантXML-данные (*.xml). - Нажмите
Сохранить. Если появится предупреждение о несовместимости функций, подтвердите экспорт.
⚠️ Ограничения метода:
- 🚫 Не сохраняются формулы — только итоговые значения.
- 🚫 Объединённые ячейки преобразуются в первую ячейку диапазона, остальные становятся пустыми.
- 🚫 Цвет фона и шрифты игнорируются.
Если пункт XML-данные отсутствует в списке, значит ваша версия Excel не поддерживает прямой экспорт. В этом случае используйте альтернативные методы, описанные ниже. Также проверьте, не открыт ли файл в режиме Защищённого просмотра — в нём функция сохранения в XML блокируется.
Что делать, если XML-данные не отображаются в списке форматов?
В Excel 2016 и новее пункт может скрываться за опцией Другие форматы. Если его нет даже там, значит в настройках отключена поддержка XML. Чтобы включить её, перейдите в Файл → Параметры → Дополнительно и установите флажок Сохранять данные в формате XML (если такой параметр доступен).
2. Экспорт через Power Query (для сложных таблиц)
Power Query — это инструмент для трансформации данных, который позволяет экспортировать таблицы в XML с сохранением структуры. Метод подходит для файлов с:
- 📊 Сводными таблицами;
- 🔗 Внешними связями;
- 📈 Большим количеством формул.
Инструкция:
- Выделите диапазон данных, который нужно экспортировать.
- Перейдите на вкладку
Данныеи выберитеИз таблицы/диапазона(в группеПолучить и преобразовать). - В открывшемся окне Power Query нажмите
Файл → Экспортировать → Экспортировать в XML. - Укажите путь для сохранения и подтвердите действие.
Преимущество этого метода — возможность предварительной обработки данных: удаление дубликатов, замена значений, фильтрация. Однако Power Query не сохраняет форматирование ячеек, поэтому если вам важно сохранить цвета или шрифты, используйте макросы (см. раздел 4).
3. Сохранение XML-схемы (XSD) для структурированных данных
Если ваша таблица связана с внешней XML-схемой (файл .xsd), Excel позволяет сохранить данные с привязкой к этой схеме. Это актуально для корпоративных пользователей, работающих с стандартными форматами отчётности (например, 1С, ROSSTAT).
Порядок действий:
- Откройте файл Excel и перейдите на вкладку
Разработчик(если её нет, включите вФайл → Параметры → Настройка ленты). - Нажмите
Импортв группеXMLи выберите файл схемы.xsd. - После привязки схемы к данным выберите
Экспортв той же группе.
⚠️ Внимание: Если структура таблицы не соответствует схеме (например, отсутствуют обязательные поля), экспорт завершится ошибкой. Перед сохранением проверьте соответствие столбцов требованиям XSD с помощью команды XML → Источник.
| Формат | Сохраняет формулы | Сохраняет форматирование | Поддерживает сводные таблицы |
|---|---|---|---|
XML-данные (*.xml) |
❌ Нет | ❌ Нет | ❌ Нет |
| Power Query → XML | ❌ Нет | ❌ Нет | ✅ Да |
XML через Разработчик (с XSD) |
✅ Да* | ❌ Нет | ✅ Да |
| Макрос VBA | ✅ Да | ✅ Частично | ✅ Да |
* Формулы сохраняются только если они поддерживаются XML-схемой.
4. Автоматизация через VBA-макрос
Для пользователей, которым требуется регулярный экспорт данных в XML с сохранением максимального количества параметров, оптимальное решение — написать макрос на VBA. Ниже приведён пример кода, который экспортирует активный лист в XML с учётом структуры таблицы:
Sub ExportToXML()
Dim xmlPath As String
Dim ws As Worksheet
Set ws = ActiveSheet
xmlPath = Application.GetSaveAsFilename( _
InitialFileName:="Export", _
FileFilter:="XML Files (.xml), .xml", _
Title:="Сохранить как XML")
If xmlPath <> "False" Then
ws.Copy
ActiveWorkbook.SaveAs xmlPath, xlXMLSpreadsheet
ActiveWorkbook.Close False
End If
End Sub
Чтобы использовать этот макрос:
- Нажмите
Alt + F11, чтобы открыть редактор VBA. - Вставьте код в модуль (
Insert → Module). - Закройте редактор и запустите макрос через
Разработчик → Макросы.
⚠️ Важно: Макрос сохраняет данные в формате xlXMLSpreadsheet, который поддерживает больше элементов, чем стандартный экспорт. Однако он не работает с файлами, защищёнными паролем, и может выдавать ошибку при наличии в ячейках символов &, < или >.
🔹 Удалите объединённые ячейки (Главная → Объединить и поместить в центре)
🔹 Замените специальные символы (&, <, >) на их HTML-эквиваленты (&, <, >)
🔹 Проверьте имена листов — они не должны содержать пробелов или знаков препинания
🔹 Отключите защиту листа и книги-->
5. Использование сторонних конвертеров
Если встроенные инструменты Excel не подходят (например, из-за ограничений на размер файла или сложную структуру), воспользуйтесь специализированными программами:
- 🔧 Excel to XML Converter (от Altova) — поддерживает XSD-валидацию;
- 🔧 Oxygen XML Editor — для работы с крупными файлами (более 100 МБ);
- 🔧 Online-Convert — бесплатный веб-сервис для разовых задач.
При выборе конвертера обращайте внимание на:
- 📌 Поддержку вашей версии Excel (некоторые программы работают только с Excel 2013–2019);
- 📌 Возможность настройки кодировки (рекомендуется
UTF-8); - 📌 Сохранение иерархии данных (важно для вложенных таблиц).
⚠️ Внимание: Бесплатные онлайн-конвертеры могут ограничивать размер файла (обычно до 50 МБ) и не гарантируют конфиденциальность данных. Для работы с конфиденциальной информацией используйте офлайн-программы.
6. Решение распространённых ошибок
При экспорте Excel в XML пользователи часто сталкиваются с следующими проблемами:
| Ошибка | Причина | Решение |
|---|---|---|
"Невозможно сохранить из-за недопустимых символов" |
В ячейках содержатся &, <, > |
Замените символы на &, <, > или используйте ЧИСТ() |
"Файл слишком большой для формата XML" |
Превышен лимит в 10 МБ для стандартного экспорта | Разбейте файл на несколько частей или используйте Power Query |
"Недопустимое имя листа" |
Имя листа содержит пробелы или символы ?:*| |
Переименуйте лист, используя только буквы и цифры |
Если при открытии полученного XML-файла в браузере или текстовом редакторе отображается ошибка парсинга, проверьте:
- Корректность закрывающих тегов (каждый
<Row>должен иметь</Row>); - Отсутствие пустых атрибутов (например,
ss:StyleID=""); - Соответствие кодировки (откройте файл в Notepad++ и выберите
UTF-8 без BOM).
7. Оптимизация XML-файла для дальнейшего использования
Экспортированный XML-файл часто требует доработки перед использованием в других системах. Основные рекомендации:
- 📖 Удаление лишних тегов: Excel добавляет служебные теги вроде
<?xml-mso-application>. Их можно удалить вручную или через XSLT-преобразование. - 📖 Сжатие данных: Для крупных файлов используйте архивацию (например,
.zip) или конвертацию вBinary XML. - 📖 Валидация: Проверьте файл на соответствие схеме с помощью
xmllint(утилита для Linux/macOS) или онлайн-валидаторов.
Если XML нужен для импорта в 1С, SAP или другую бухгалтерскую программу, уточните требования к структуре у разработчика ПО. Например, 1С:Предприятие требует, чтобы числовые значения были в формате <Число>1000.00</Число>, а не <Cell><Data>1000</Data></Cell>, как экспортирует Excel.
Пример XSLT для преобразования XML из Excel в упрощённый формат
<xsl:template match="/"> <Root> <xsl:for-each select="//Row"> <Record> <xsl:for-each select="Cell"> <Field><xsl:value-of select="Data"/></Field> </xsl:for-each> </Record> </xsl:for-each> </Root> </xsl:template> </xsl:stylesheet><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
Этот шаблон удаляет служебные теги Excel и преобразует данные в плоскую структуру.
Часто задаваемые вопросы
Можно ли сохранить в XML файл с макросами?
Нет, макросы (.xlsm) не экспортируются в XML. Чтобы сохранить логику макросов, сначала конвертируйте их в отдельные модули VBA, а затем вручную интегрируйте в целевую систему.
Почему в экспортированном XML вместо кириллицы отображаются знаки вопроса?
Проблема связана с неверной кодировкой. При сохранении выберите UTF-8 (в ручном режиме через Блокнот или специализированные редакторы вроде Notepad++). Также проверьте настройки региональных стандартов в Windows (Панель управления → Часы и регион).
Как экспортировать в XML только выделенный диапазон?
Стандартный экспорт сохраняет весь лист. Чтобы экспортировать только выделенную область:
- Скопируйте диапазон в новый файл (
Ctrl + N → Вставить). - Удалите лишние строки/столбцы.
- Сохраните как XML через
Файл → Сохранить как.
Или используйте макрос:
Sub ExportRangeToXML()
Dim rng As Range
Set rng = Selection
rng.Copy
Workbooks.Add
ActiveSheet.Paste
ActiveWorkbook.SaveAs "C:\Export.xml", xlXMLSpreadsheet
ActiveWorkbook.Close False
End Sub
Поддерживает ли Google Таблицы экспорт в XML?
Нет, Google Sheets не имеет встроенной функции экспорта в XML. Альтернативные варианты:
- Экспортируйте в
.csv, а затем конвертируйте в XML через Python (библиотекаpandas) или онлайн-сервисы. - Используйте Apps Script для генерации XML-кода на основе данных таблицы.
Можно ли сохранить в XML файл с условным форматированием?
Нет, условное форматирование (цвета ячеек по правилам) не сохраняется в XML. Чтобы передать эту информацию, экспортируйте данные в .xlsx, а затем обработайте файл с помощью Open XML SDK (для разработчиков) или специализированных конвертеров.