Перейти к содержимому

Конвертировать Excel в XML

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

  • Не сохраняется
  • Без очереди и ожидания
  • Без регистрации и водяных знаков

Как это работает

1

Добавьте книгу

Перетащите файл .xlsx, .xls или .ods и выберите лист — предпросмотр XML обновляется вживую.

2

Задайте имена элементов

Укажите имена корневого элемента и строк, выберите исходные или отображаемые значения и что делать с пустыми ячейками.

3

Скопируйте или скачайте

Скопируйте XML или сохраните его как файл .xml.

Таблица, описанная как дерево

Каждый лист становится повторяющимся элементом на строку, с одним дочерним элементом на столбец, названным по строке заголовков, — именно поэтому результат может прочитать всё, что ждёт XML с данными, а не таблицу. По пути названия столбцов должны стать допустимыми именами элементов, а XML строже заголовка в таблице: имя не может начинаться с цифры, не может содержать пробелы и большинство знаков препинания и учитывает регистр. Поэтому «Order Total (£)» превращается во что-то более аккуратное, а два заголовка, различающиеся только пунктуацией, в итоге может понадобиться различать.

Переносятся значения, а не внешний вид. Ячейка, в которой видно £1,234.50, хранится в книге как число 1234.5 с применённым форматом, и в XML попадает именно число — почти всегда это правильно, ведь принимающей системе нужно значение, а не символ валюты. Так же исчезают формулы: вы получаете то, что формула вычислила, потому что в XML негде хранить саму формулу. Цвета, шрифты, границы, условное форматирование, диаграммы и изображения здесь не представлены вовсе.

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

Пять символов, зарезервированных в XML, — амперсанд, угловые скобки и кавычки — в значениях экранируются, так что текст с ними сохраняется без изменений. Пустые ячейки дают пустые элементы, а не пропускаются: так у каждой записи одинаковая структура, и обрабатывать результат гораздо проще, чем там, где отсутствующие поля просто исчезают. С книг, защищённых паролем, пароль нужно сначала снять.

Если нужно другое

Когда XML должен соответствовать определённой схеме — отраслевому формату, государственной отчётности, формату импорта конкретной системы, — универсальная конвертация его не даст, и никакие настройки здесь не помогут. Это задача сопоставления: XSLT преобразует этот результат в нужную форму, а xmllint --schema проверит итог перед отправкой.

Всё повторяющееся автоматизируйте скриптом. openpyxl и pandas в Python читают книгу и записывают любой XML, который вы опишете, с контролем над тем, как выводятся даты и числа, — а это как раз самое важное. И стоит спросить себя, действительно ли нужен XML: большинство систем, созданных в последние годы, предпочтут JSON или CSV, а XML обычно — требование, унаследованное от чего-то более старого.

Частые вопросы

Как выглядит XML?

Один элемент на строку, внутри — по дочернему элементу на каждый столбец с именем из заголовка: <rows><row><Name>Ada</Name><Joined>2024-03-15</Joined></row>…</rows>. Имена корня и строк выбираете вы, а несколько листов можно экспортировать вместе, каждый в своём элементе.

В моих заголовках пробелы и символы — это проблема?

Нет. Заголовки превращаются в допустимые имена XML: «First Name» становится First_Name, «2024 Sales» — _2024_Sales, а одинаковые заголовки нумеруются, поэтому результат всегда корректен.

Как записываются даты и числа?

Исходные значения дают простые числа и даты в формате ISO 8601 (2024-03-15, 14:30:00), которые разберёт любая система. Отображаемые значения записывают ровно тот текст, который показывает Excel, вместе с форматированием.

Что такое XML Spreadsheet 2003?

Формат XML, который Excel открывает напрямую, сохраняя все листы с числами, датами и текстом. Выбирайте его, когда система просит «Excel XML», а не ваш собственный XML с данными.

Моя таблица где-нибудь сохраняется?

Нет. Книга читается и XML создаётся прямо здесь; ничего никуда не отправляется и ничего не сохраняется.

Что происходит с формулами и форматированием?

Формулы записываются как их вычисленные значения. Форматирование, диаграммы и изображения в XML с данными не входят.

Полезно знать: XML с данными содержит только значения — без форматирования, диаграмм и изображений. С книг, защищённых паролем, пароль нужно сначала снять.

Разместите этот инструмент на своём сайте

Бесплатно для любого блога, страницы класса или справочной статьи. Вставьте один фрагмент кода — и посетители смогут пользоваться инструментом прямо на вашей странице.