Импорт и обработка XML-файлов в Excel

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

Чтобы открыть XML-файл в Excel, проще всего использовать меню «Данные» → «Получить данные» → «Из файла» → «Из XML». Этот метод (через Power Query) гарантирует правильное распознавание структуры даже для сложных и больших файлов, автоматически превращая иерархические теги в плоскую таблицу. Прямое открытие через «Файл → Открыть» подходит только для простых документов объемом до 10 МБ.

Что такое XML и зачем использовать Excel

XML (Extensible Markup Language) — это текстовый формат для хранения структурированных данных. В отличие от плоских CSV-файлов, XML поддерживает вложенность (дерево элементов), что позволяет описывать сложные связи, например, заказ с несколькими товарами внутри.

Excel идеально подходит для работы с такими данными, потому что:

  • Визуализация: Превращает код с тегами в понятные строки и столбцы.
  • Аналитика: Позволяет сразу применять фильтры, сортировку и сводные таблицы.
  • Гибкость: Инструмент Power Query (доступен с Excel 2016 и в Microsoft 365) умеет «распаковывать» вложенные уровни XML в одну таблицу.

Всегда сохраняйте копию исходного .xml файла перед импортом. При сохранении книги в формате .xlsx структура XML теряется, остаётся только табличное представление данных.

Способ 1: Прямое открытие файла (для простых задач)

Этот метод подходит, если файл небольшой (до 10–15 МБ) и имеет простую структуру без глубокой вложенности.

  1. Запустите Excel.
  2. Нажмите ФайлОткрытьОбзор.
  3. В окне выбора файла измените тип файлов на XML (*.xml).
  4. Выберите нужный файл и нажмите Открыть.
  5. Появится диалоговое окно «Открытие XML-файла». Выберите вариант «Как XML-таблицу» и нажмите ОК.

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

При прямом открытии больших файлов Excel может зависнуть. Если файл превышает 20 МБ или содержит много уровней вложенности, используйте второй способ.

Способ 2: Импорт через Power Query (рекомендуемый)

Инструмент Power Query («Получение и преобразование данных») — самый надежный способ. Он позволяет настроить правила импорта один раз и обновлять данные при изменении исходного файла.

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

  1. Перейдите на вкладку Данные в ленте меню.
  2. Нажмите Получить данныеИз файлаИз XML.
  3. Выберите файл на диске. Откроется окно навигатора Power Query с предпросмотром структуры.
  4. В списке слева вы увидите корневой элемент. Нажмите на значок списка рядом с ним или кнопку Преобразовать данные, чтобы попасть в редактор.
  5. Раскрытие вложенности:
    • Найдите колонку, содержащую записи (обычно называется Table или имеет значок списка {}).
    • Нажмите на значок раскрытия (две стрелочки) в заголовке этой колонки.
    • Снимите галочку «Использовать исходное имя столбца как префикс» (если нужно) и выберите поля, которые хотите перенести в основную таблицу (например, Name, Price, ID).
    • Нажмите ОК. Повторяйте процедуру, пока все нужные данные не станут отдельными колонками.
  6. Очистка данных: При необходимости удалите лишние столбцы (правая кнопка мыши → Удалить) или измените типы данных (Текст → Число/Дата).
  7. Нажмите Закрыть и загрузить. Данные появятся на новом листе в виде умной таблицы.
ХарактеристикаПрямое открытиеPower Query
Максимальный размер файла~10–15 МБДо 100+ МБ (зависит от ОЗУ)
Работа со вложенностьюПлохо (часто ломает структуру)Отлично (гибкое раскрытие)
Возможность обновленияНет (нужно открывать заново)Да (кнопка «Обновить»)
Настройка типов данныхАвтоматически (часто ошибочно)Ручная точная настройка

Преобразование и анализ загруженных данных

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

  • Сводные таблицы: Выделите диапазон данных и нажмите ВставкаСводная таблица. Это лучший способ агрегировать данные из XML (например, посчитать сумму продаж по категориям).
  • Формулы: Используйте функции ВПР (VLOOKUP) или XПРОСМОТР (XLOOKUP) для связывания импортированных данных с другими таблицами.
  • Фильтрация: Включите фильтры (ДанныеФильтр), чтобы быстро находить нужные элементы по атрибутам.

Если источник XML меняется регулярно (например, ежедневная выгрузка из 1С), настройте автообновление: кликните правой кнопкой по таблице → Обновить. Если файл лежит в той же папке, данные подтянутся автоматически с учетом последних изменений.

Частые ошибки и способы их решения

  • Ошибка «Не удалось проанализировать файл»: Часто возникает из-за неверной кодировки. Откройте XML-файл в «Блокноте» и сохраните его с кодировкой UTF-8, затем попробуйте импортировать снова.
  • Данные не раскрываются в колонки: В Power Query убедитесь, что вы нажимаете на значок раскрытия именно у той колонки, где содержится вложенная таблица ({Table}), а не у текстовых значений.
  • Проблемы на macOS: В версиях Excel для Mac функционал Power Query может быть ограничен. Если кнопка «Из XML» недоступна, попробуйте сохранить XML как CSV в стороннем конвертере или используйте скрипт VBA.
  • Лишние служебные колонки: При импорте часто появляются колонки вроде @id или #text. Их можно спокойно удалить в редакторе Power Query перед загрузкой в книгу.

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

Можно ли отредактировать данные в Excel и сохранить обратно в XML? Стандартными средствами сохранить таблицу обратно в исходную иерархическую структуру XML сложно. Excel сохраняет данные как плоский список. Для обратной конвертации лучше использовать специализированные скрипты (Python, PowerShell) или онлайн-конвертеры.

Какая версия Excel нужна для работы с XML? Базовое открытие поддерживается во всех версиях. Полноценная работа через Power Query доступна в Excel 2016, 2019, 2021 и подписке Microsoft 365. В Excel 2010 и старше требуется установка отдельной надстройки.

Что делать, если файл весит более 500 МБ? Excel имеет ограничение в 1 048 576 строк на лист. Если распакованный XML превышает этот лимит, файл не загрузится полностью. В таком случае данные нужно предварительно фильтровать на уровне источника или обрабатывать частями с помощью баз данных (SQL, Access).