Как перевести Excel в XML онлайн бесплатно: пошаговое руководство с сравнением сервисов

Почему конвертация Excel в XML вызывает сложности и когда она действительно нужна

Формат XML (eXtensible Markup Language) кажется архаичным на фоне современных .xlsx или .csv, но до сих пор остаётся востребованным в корпоративных системах, бухгалтерских программах (например, или SAP), а также при интеграции данных между разными платформами. Проблема в том, что Excel по умолчанию не сохраняет файлы в чистом XML — его «XML-спreadsheet» (.xml из меню «Сохранить как») содержит избыточные теги и не всегда совместим с внешними системами.

Вот типичные сценарии, когда требуется именно онлайн-конвертация, а не встроенные функции Excel:

  • 📤 Импорт в веб-сервисы: многие CRM (например, Bitrix24 или amoCRM) принимают данные только в строго структурированном XML.
  • 📊 Обмен с госорганами: отчётность в ФНС, ПФР или Росстат часто требует XML с жёсткой схемой (XSD).
  • 🔄 Миграция данных: перенос каталогов товаров между платформами (например, с Excel на WordPress + WooCommerce).
  • 🤖 Автоматизация: скрипты на Python или PHP проще парсят XML, чем бинарные .xlsx.

При этом локальные решения (например, Pandas в Python или макросы VBA) требуют технических навыков. Онлайн-сервисы же предлагают «конвертацию в один клик», но здесь возникают свои подводные камни: от ограничений по размеру файла до искажения кодировки кириллицы. Далее разберём, как избежать типичных ошибок и выбрать оптимальный инструмент.

📊 Для чего вам нужна конвертация Excel в XML?
Для импорта в 1С/CRM
Для госотчётности
Для миграции данных на сайт
Для автоматизации скриптов
Другое

Топ-5 бесплатных онлайн-сервисов для конвертации Excel в XML: сравнение возможностей

Мы протестировали десятки инструментов и отобрали те, что не требуют регистрации, поддерживают русский язык и сохраняют структуру данных. В таблице ниже — ключевые параметры для выбора:

Сервис Макс. размер файла Поддержка XLS/XLSX Сохранение форматирования Экспорт схемы (XSD) Ограничения
Zamzar 50 MB ✅ Да ❌ Частично (теряются цвета ячеек) ❌ Нет Требует email для отправки результата
ConvertCSV 10 MB ✅ Да (через CSV) ❌ Нет (только данные) ✅ Да (опционально) Конвертирует сначала в CSV, затем в XML
FreeFormatter 15 MB ✅ Да ✅ Да (сохраняет стили) ❌ Нет Медленная обработка больших файлов
CodeBeautify 5 MB ✅ Да ❌ Нет ✅ Да (генерация XSD) Ограничение на 1000 строк в бесплатной версии
AConvert 200 MB ✅ Да ✅ Частично (без формул) ❌ Нет Реклама, медленная загрузка

Если ваш файл весит больше 50 MB, лучше разделить его на части или использовать Python-скрипты (о них расскажем ниже). Для большинства задач оптимален FreeFormatter — он сохраняет структуру таблицы и поддерживает кириллицу без искажений. А если нужна схема XSD, выбирайте CodeBeautify или ConvertCSV.

⚠️ Внимание: Сервисы вроде Zamzar или ConvertCSV отправляют файлы на свои серверы. Если в вашем Excel содержатся конфиденциальные данные (например, паспортные сведения или финансовые отчёты), используйте локальные инструменты или удаляйте чувствительную информацию перед конвертацией.

Пошаговая инструкция: как конвертировать Excel в XML через FreeFormatter

Рассмотрим процесс на примере FreeFormatter — он сочетает удобство и минимальные потери данных. Следуйте этому алгоритму:

  1. Загрузка файла: Нажмите Browse и выберите ваш .xls или .xlsx. Сервис поддерживает файлы до 15 MB.
  2. Настройки конвертации:
    • 📋 Укажите лист для экспорта (если их несколько).
    • 🔄 Выберите кодировку: для русского языка — UTF-8.
    • 🏷️ Отметьте Include header row, если первая строка содержит заголовки столбцов.
  • Предпросмотр: После обработки откроется окно с XML-кодом. Проверьте, что данные отображаются корректно (особенно кириллица и спецсимволы).
  • Скачивание: Нажмите Download — файл сохранится с расширением .xml.
  • ☑️ Чеклист перед конвертацией

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

    Если в результате XML содержит ошибки вроде &lt; вместо <, значит сервис неправильно экранировал символы. В этом случае попробуйте:

    1. Открыть полученный XML в Notepad++ и заменить все &lt; на < (и аналогично для &gt;>).
    2. Использовать другой сервис (например, CodeBeautify), который лучше обрабатывает спецсимволы.
    3. Распространённые ошибки при конвертации и как их исправить

      Даже с надёжными сервисами пользователи сталкиваются с типичными проблемами. Вот самые частые из них и способы решения:

      1. Искажение кириллицы (кракозябры)

      Причина: Сервис сохранил файл в кодировке Windows-1251 или ISO-8859-1 вместо UTF-8.

      Решение:

      • 🔄 Переконвертируйте файл с явным указанием UTF-8 (опция есть в FreeFormatter и CodeBeautify).
      • 📝 Откройте XML в Notepad++ и пересохраните с кодировкой UTF-8 без BOM.

      2. Потеря структуры таблицы

      Причина: Объединённые ячейки или вложенные таблицы в Excel не имеют прямого аналога в XML.

      Решение:

      • 🧩 Разъедините все ячейки перед конвертацией (Главная → Объединить и центрировать).
      • 📊 Используйте плоскую структуру (без вложенных строк/столбцов).

      3. Ошибка «XML не валиден» при импорте в 1С

      Причина: В XML отсутствует обязательная схема XSD или неверные теги.

      Решение:

      • 🔍 Проверьте XML через валидатор (например, XMLValidation).
      • 📑 Сгенерируйте XSD в CodeBeautify и прикрепите к XML при импорте.

    ⚠️ Внимание: Если вы конвертируете Excel для загрузки в , убедитесь, что в XML есть атрибут xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance". Без него 1С может не распознать файл. Пример корректного заголовка:
    <?xml version="1.0" encoding="UTF-8"?>
    

    <Документ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

    Альтернативные способы: конвертация без онлайн-сервисов

    Если онлайн-инструменты не подходят (например, из-за ограничений по конфиденциальности или размеру файла), рассмотрите эти варианты:

    1. Через Excel (встроенный экспорт)

    Excel умеет сохранять таблицы в формате XML-данные 2003 (.xml), но с оговорками:

    1. Откройте файл в Excel.
    2. Перейдите в Файл → Сохранить как.
    3. В списке форматов выберите XML-данные (*.xml).
    4. Нажмите Сохранить и подтвердите экспорт текущего листа.

    Минусы: Получившийся XML содержит избыточные теги Microsoft (например, <ss:Workbook>), что может мешать дальнейшей обработке.

    2. С помощью Python (для технически подкованных)

    Используйте библиотеку pandas для точной конвертации:

    import pandas as pd
    

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

    df.to_xml('output.xml', index=False, encoding='utf-8')

    🔹 Плюсы: полный контроль над структурой XML, поддержка больших файлов.

    🔹 Минусы: требует установки Python и знания основ программирования.

    3. Через OpenOffice Calc

    OpenOffice предлагает более гибкий экспорт в XML:

    1. Откройте файл в Calc.
    2. Выберите Файл → Экспорт в формат XML.
    3. Настройте схему (DTD или XSD) при необходимости.

    Плюс: лучше сохраняет структуру, чем Excel.

    Как автоматизировать конвертацию для сотен файлов?

    Если вам нужно регулярно конвертировать множество Excel-файлов в XML, рассмотрите эти инструменты:

    • 🤖 Power Query в Excel: создайте запрос, который преобразует данные в XML и обновляется по расписанию.
    • 🐍 Скрипт на Python: используйте os.listdir() для пакетной обработки файлов в папке.
    • ⚙️ 1С:Предприятие: если цель — загрузка в 1С, настройте правила обмена данными напрямую из Excel.

    Для Power Query пример кода (M-language):

    let
    

    Source = Excel.Workbook(File.Contents("C:\path\to\file.xlsx"), null, true),

    Sheet1_Sheet = Source{[Item="Лист1",Kind="Sheet"]}[Data],

    #"Promoted Headers" = Table.PromoteHeaders(Sheet1_Sheet, [PromoteAllScalars=true]),

    Xml = Xml.FromTable(#"Promoted Headers")

    in

    Xml

    Как проверить полученный XML на корректность

    Даже если конвертация прошла успешно, XML может содержать скрытые ошибки, которые проявятся только при импорте в целевую систему. Вот как их выявить заранее:

    1. Валидация через онлайн-инструменты

    Используйте эти сервисы для проверки:

    2. Проверка вручную

    Откройте XML в текстовом редакторе и убедитесь, что:

    • 🏷️ Все теги правильно закрыты (например, <row>...</row>).
    • 🔤 Спецсимволы экранированы: < вместо &lt;, & вместо &amp;.
    • 📏 Данные соответствуют исходному Excel (особенно числа с разделителями, даты).

    3. Тестовый импорт

    Если XML предназначен для конкретной системы (например, или Bitrix24), загрузите его в тестовую среду:

    1. Создайте резервную копию базы данных.
    2. Импортируйте XML в песочницу (test-версию системы).
    3. Сравните данные с исходным Excel.
    ⚠️ Внимание: Если целевая система требует строгой схемы XSD, но её нет в документации, запросите её у разработчиков или сгенерируйте самостоятельно через XML Spy или Oxygen XML Editor. Без правильной схемы даже корректный XML может не импортироваться.

    FAQ: ответы на частые вопросы

    Можно ли конвертировать Excel в XML с формулами, чтобы они сохранили расчёты?

    Нет, XML — это формат хранения данных, а не вычислений. Все формулы (=SUM(), =VLOOKUP()) будут потеряны. Решения:

    • Скопируйте данные через «Специальная вставка» → «Значения» до конвертации.
    • Используйте Python с pandas, чтобы сначала вычислить все формулы (df = df.eval()), а затем экспортировать в XML.
    Почему после конвертации в XML пропадают ведущие нули (например, в артикулах «00123» становится «123»)?

    Это типичная проблема при автоматической конвертации, так как Excel воспринимает такие данные как числа. Решения:

    • 📌 Перед конвертацией отформатируйте столбец как текстовый (Главная → Формат → Формат ячеек → Текстовый).
    • 🔢 В XML добавьте атрибут type="string" для таких полей (если формат поддерживает).
    Как конвертировать Excel в XML для загрузки в 1С:Предприятие?

    Для 1С требуется XML строго определённой структуры. Пошаговый алгоритм:

    1. Уточните у администратора 1С формат обмена (например, CommerceML для товаров).
    2. Используйте шаблоны CommerceML или стандарты 1С.
    3. Конвертируйте Excel в XML через ConvertCSV с настройкой CommerceML 2.0 (если доступно).
    4. Проверьте XML через валидатор 1С.

    🔹 Важно: В 1С часто требуются дополнительные теги вроде <Каталог> или <Документ>, которых нет в стандартном экспорте Excel.

    Есть ли ограничения на количество строк/столбцов при онлайн-конвертации?

    Да, у большинства сервисов есть лимиты:

    Сервис Макс. строк Макс. столбцов
    Zamzar 100 000 256
    FreeFormatter 50 000 100
    CodeBeautify 1 000 (бесплатно) 50

    Для больших файлов разбейте данные на части или используйте Python/OpenOffice.

    Можно ли автоматизировать конвертацию Excel в XML для регулярных задач?

    Да, есть несколько способов:

    • 🤖 Power Automate (Microsoft): создайте поток, который конвертирует файлы из SharePoint/OneDrive в XML по расписанию.
    • 🐍 Python-скрипт: используйте watchdog для отслеживания новых файлов в папке и автоматической конвертации:
      from watchdog.observers import Observer
      

      from watchdog.events import FileSystemEventHandler

      import pandas as pd

      class ExcelHandler(FileSystemEventHandler):

      def on_created(self, event):

      if event.src_path.endswith(('.xls', '.xlsx')):

      df = pd.read_excel(event.src_path)

      df.to_xml(event.src_path.replace('.xlsx', '.xml'), index=False)

      observer = Observer()

      observer.schedule(ExcelHandler(), path='C:\\input_folder')

      observer.start()

    • ⚙️ 1С:Предприятие: настройте регламентное задание для выгрузки данных из Excel в XML по расписанию.