Преобразование файлов Excel в XML и обратно. Конвертируем xls в xml Как сохранить в формате xml из excel

XML является одним из самых распространенных форматов для хранения данных и обмена ими между различными приложениями. С данными работает и программа Microsoft Excel, поэтому очень актуальным является вопрос конвертации файлов из стандарта XML в форматы Excel. Выясним, как произвести эту процедуру различными способами.

XML-файлы написаны на специальном языке разметки чем-то похожим на HTML веб-страниц. Поэтому у этих форматов довольно сходная структура. В то же время, Эксель – это в первую очередь программа, имеющая несколько «родных» форматов. Самые известные из них: Книга Excel (XLSX) и Книга Excel 97 – 2003 (XLS). Выясним основные способы конвертации файлов XML в эти форматы.

Способ 1: встроенный функционал Excel

Программа Excel отлично работает с файлами формата XML. Она может открывать их, изменять, создавать, сохранять. Поэтому самый простой вариант поставленной перед нами задачи — это открыть данный объект и сохранить его через интерфейс приложения в виде документов XLSX или XLS.


На этом процедура конвертации файла XML в формат Excel через интерфейс программы окончена.

Способ 2: импорт данных

Вышеописанный способ подходит только для файлов XML с самой простой структурой. Более сложные таблицы при конвертации таким способом могут быть переведены некорректно. Но, существует ещё один встроенный инструмент Excel, который поможет корректно произвести импорт данных. Он расположен в «Меню разработчика» , которое по умолчанию отключено. Поэтому, прежде всего, его нужно активировать.


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

Способ 3: онлайн-конвертер

Тем пользователям, у которых по какой-то причине не установлена на компьютере программа Эксель, но нуждающимся в срочном преобразовании файла из формата XML в EXCEL, можно воспользоваться одним из множества специализированных онлайн-сервисов для конвертации. Одним из наиболее удобных сайтов подобного типа является Convertio.


Данный вариант может послужить хорошей подстраховкой на случай неимения доступа к стандартным инструментам для переформатирования по данному направлению.

Как видим, в самом Экселе есть встроенные инструменты, позволяющие преобразовать файл формата XML в один из «родных» форматов этой программы. Простейшие экземпляры можно легко конвертировать через обычную функцию «Сохранить как…». Для документов с более сложной структурой существует отдельная процедура преобразования через импорт. Те пользователи, которые по какой-либо причине не могут воспользоваться данными инструментами, имеют возможность выполнить задачу с помощью специализированных онлайн-сервисов для конвертации файлов.

Те, кто владеет замечательной программой TextKit, или по крайней мере слышали о ней, (кто не слышал, срочно ) должны были заметить в числе ее возможностей разбор XML-документов в любой шаблон. Т.е, если у нас есть XML документ, мы без проблем стряпаем сайт при помощи ТекстКита.

Остается одна маленькая проблема, как получить этот XML. В действительности, для целей создания сайта можно брать готовые документы различных партнерок, типа МиксМаркета или Озона . Но про них как-нибудь в другой раз. Я расскажу, как получить XML из обычной XLS-таблицы. Фактически, это формат MS Excel.

Владение этим знанием позволит нам делать сайты при помощи ТекстКита из любых баз в Экселе. Работать будем в 2007-м офисе.

1) Загружаем надстройку для работы с XML отсюда .

2) Заходим в главное меню экселя, параметры.

3) В открывшемся меню выбираем «Надстройка». Ищем пункт «Управление», выбираем «Надстройки Excel» и жмем «Перейти»:

4) В открывшемся окне через «Обзор» выбираем нужный нам файл XmlTools.xla , добавляем его в панель и активируем, поставив галочку напротив него.

По умолчанию этот файл хранится в следующей папке на жестком диске:
\Office Samples\OfficeExcel2003XMLToolsAddin.

5) Если вы все сделали правильно, то в «Параметрах» в разделе «Надостройки» вы увидите установленное расширение:

Теперь берем наши данные для создания XML документа и работаем с ними.

1) Жмем на кнопку на панели. Выбираем первый пункт:

2) В появившемся окне выбираем yes/no если наши данные содержат / не содержат заголовка, в моем случае содержат, потому переставляю галочку на yes. Здесь же зажимаем маленькую «пипку», чтобы выбрать ячейки с данными:

3) Протягиванием выбираем данные для создания XML — документа. Отжимаем «пипку» и жмем ОК.

Если все сделали верно, то табличка станет сине-белой, и менюшка здорово изменится:

Ну, уже почти все. Теперь идем в параметры сохранения документа и там выбираем XML — данные.

Собственно, вот и все! Мы получили на выходе готовый XML-документ, который теперь без проблем можем разобрать в парсере . Но про это как-нибудь в другой раз 🙂

Если необходимо создать файл XML-данных и файл схемы XML из диапазона ячеек на листе, можно использовать версию 1.1 надстройки "Средства XML для Excel 2003" для расширения существующих возможностей XML в Microsoft Excel 2007 и более поздних версиях.

Примечание: Эта надстройка была разработана для Excel 2003. Документация и пользовательский интерфейс ссылаются на списки, которые в версиях приложения позднее Excel 2003 называются таблицами Excel.

Дополнительные сведения о работе с этой надстройкой см. в статье Использование надстройки "Средства XML" версии 1.1 для Excel 2003 .

Действие 2. Преобразование диапазона ячеек в XML-таблицу

    Введите данные, для которых необходимо создать файл XML-данных и файл схемы XML. Данные должны быть представлены в табличном формате в виде столбцов и строк (так называемые обычные данные).

    На вкладке Надстройки в группе Команды меню щелкните стрелку возле надписи Средства XML и нажмите кнопку Преобразовать диапазон в список XML .

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

    В поле Первая строка содержит имена столбцов выберите Нет , если первая строка содержит данные, или Да , если первая строка содержит заголовки столбцов, и нажмите кнопку ОК .

    Excel автоматически создаст схему XML, выполнит привязку ячеек к схеме и создаст XML-таблицу.

    Важно: Если откроется редактор Visual Basic и отобразится сообщение об ошибке Visual Basic for Applications (VBA), выполните следующие действия.

    1. Нажмите кнопку ОК .

      В выделенной строке модуля кода VBA удалите из строки "50". Другими словами, измените:
      XMLDoc в качестве MSXML 2 . DOMDocument50
      Кому:
      XMLDoc как Msxml2. Домдокумент

      Нажмите клавишу F5 для поиска следующей строки, содержащей текст "XMLDoc As msxml2.DOMDocument50", нажмите кнопку ОК и измените строку, как в предыдущем пункте.

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

      Если после нажатия клавиши F5 сообщения об ошибке VBA больше не отображается, закройте редактор Visual Basic, чтобы вернуться в книгу. Диапазон ячеек будет преобразован в XML-таблицу.

      Примечание: Чтобы отобразить все карты XML в книге, на вкладке Разработчик в группе XML нажмите кнопку Источник для отображения области задач "Источник XML". В нижней части области задач "Источник XML" нажмите кнопку Карты XML .

      Если вкладка Разработчик не видна, выполните три первых действия, указанных в следующем разделе, чтобы добавить ее на ленту Excel.

Действие 3. Экспорт XML-таблицы в файл XML-данных (XML)

Примечание: При создании карт XML и экспорте данных в Excel в XML-файлы существует ограничение на количество строк, которые можно экспортировать. При экспорте в XML-файл из Excel можно сохранить до 65 536 строк. Если файл содержит более 65 536 строк, Excel сможет экспортировать только первые строки (число строк mod 65 537). Например, если лист содержит 70 000 строк, Excel экспортирует 4464 строки (70 000 mod 65 537). Мы рекомендуем последовать одному из следующих советов: 1) используйте формат XLSX; 2) сохраните файл в формате "Таблица XML 2003 (*.xml)" (при этом будут потеряны сопоставления); 3) удалите все строки после 65 536 и затем снова выполните экспорт (при этом сопоставления сохранятся, но будут потеряны строки в конце файла).

Представляющими собой данные на основе ввода описания с тегами или настроек программ. Открыть их для редактирования обычным двойным кликом не получается. Связано это с тем, что для ассоциации с расширением не установлено нужное приложение, которое применяется по умолчанию. Но если нужно получить удобочитаемый файл в виде таблицы с возможностью редактирования, можно открыть файл XML в Excel. При этом не нужны никакие конверторы, способные преобразовывать форматы между собой. Единственное замечание: такая возможность имеется только в версиях Office версии 2003 и выше.

Как открыть XML в Excel: способ первый

Рассмотрим импорт данных на основе Excel версии 2016 года. Первый и самый простой способ состоит в том, чтобы изначально запустить программу Excel. При старте приложение вместо приветствия и логотипа выдаст специальное окно входа, в котором слева в меню присутствует строка «Открыть другие книги».

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

Как открыть формат XML в Excel: способ второй

Практически ничем не отличается от первого еще один предлагаемый метод. Файл XML в Excel можно открыть из файлового меню или использовать для этого быстрое сочетание Ctrl + O.

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

Открытие XML: способ третий

Есть еще несколько методов XML в Excel. Так, в версии программы 2016 года можно использовать меню верхней панели, где выбирается раздел «Данные», а затем нажимается кнопка получения внешних данных.

В выпадающем меню нужно просто выбрать раздел «Из других источников» и в новом меню использовать строку «Из импорта XML». После этого следует стандартная процедура поиска нужного файла с последующим открытием.

Редактирование, сохранение и экспорт

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

В этом случае можно импортировать не все содержимое XML-файла, а только то, что действительно необходимо, вставляя информацию в соответствующие столбцы и строки, указав в качестве источника данных именно XML-объект. Но для этого необходимо в самой программе выполнить вход в аккаунт, используя свою регистрацию в Microsoft.

Сохранить измененный файл можно сразу же в оригинальном формате, выбрав соответствующий тип из списка. Из файлового меню, если объект был сохранен в «родном» формате Excel, можно выбрать функцию экспорта, нажать на изменение типа файла и установить в качестве конечного формата именно XML.

Если пользователю лень заниматься подобными преобразованиями, или в работе он использует версию Office ниже версии 2003, для открытия данного формата в виде таблицы придется использовать специальный конвертор. Таких программ сейчас предлагается достаточно много. В крайнем случае, если и это не подходит, без проблем можно обратиться к специализированным онлайн-сервисам, на которых формат будет изменен в течение пары десятков секунд. По окончании таких действий останется только загрузить готовый результат в формате XLS на жесткий диск, а потом открыть его в Excel. Впрочем, в большинстве случаев такие действия не требуются, поскольку в том же Office 2003 возможность прямого открытия (импорта) формата XML уже предусмотрена изначально. И думается, мало кто сегодня использует устаревшие офисные продукты Microsoft.

У вас есть идеальный файл со всеми вашими данными о продукте или статистике, и теперь вам нужны эти данные в формате XML.

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

Конечно, эти инструменты абсолютно бесполезны, если ваши данные не готовы к конверсии.

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

Шаг 1 Какой формат является вашим исходным файлом?

Тип вашего файла будет определяющим фактором того, как вы приближаетесь к преобразованию. Если ваш файл является одним из следующих типов, вам повезло.
Ваше приложение будет конвертировать его для вас:

Примечание. Важно отметить, что файлы Microsoft экспортируются в определенном формате. Эти документы могут быть или не быть тем, что вы ожидаете. Они содержат элементы, относящиеся к форматированию вашего документа Excel. Это было бы не идеально, если вы используете данные в приложении, которое относится к формату входящих данных.

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

Программное обеспечение, такое как XML Spy, может конвертировать ваш код на основе SQL в документы XML. Когда у вас есть большой набор данных, настоятельно рекомендуется конвертировать.

Tab Delimited, CSV

Существуют другие инструменты конвертера, такие как XML-конвертер Rustemsoft или XML-Buddy (плагин Eclipse) из программного обеспечения Bocaloca. Эти приложения могут экспортировать ваши данные, а также предоставить вам файл XML Schema или DTD (определение типа документа), если это необходимо. Эти приложения очень удобны и делают процесс преобразования вашего файла или базы данных в XML более удобным для пользователя.

Шаг 2 Если вы на этом этапе, должны преобразовать его вручную.

Возьмем базовый текстовый документ и преобразуем его в XML. Но сначала о том, как быстро просмотреть основные правила XML:

XML. Расширяемый язык разметки представляет собой текстовый кросс-платформенный язык, который позволяет вам структурировать данные (например, адреса в адресной книге). Ожидается, что XML-документ будет иметь правильный синтаксис. Поэтому при создании XML-документов они должны быть хорошо сформированы. Хорошо сформированный документ имеет следующее:

Закрытые теги (<> или )

Атрибут элемента должен быть заключен в двойные кавычки

(<страна country id = «7»>)

XML чувствителен к регистру. Другими словами, начальный и конечный теги должны использовать один и тот же случай

Вот основной список голландских художников XVII века.

Рембрандт Ван Рейн, 1606-1669, Ночной дозор
Хендрик Аверкамп, 1585-1634, зима
Ян де Бисхоп, 1628-1671, Оостропорт

Как видите, данные разделяются запятыми.

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

Поэтому нам нужно создать XML-файл со следующей структурой:

Имя художника
Год рождения художника
Год смерти художника
Живопись художника

Шаг 3 С учетом этого формата мы можем создать XML-файл.

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


Rembrandt Van Rijn
1606
1669
Night Watch

Hendrick Avercamp
1585
1634
Winter

Jan de Bisschop
1628
1671
The Oostpoort

У каждого из наших художников есть две даты, связанные с ними, а также и картины.

Поэтому собираемся сделать имя, даты и нарисовать дочерний элемент рисования элементов. Они будут называться имя, год рождения, живопись и год. С этим файлом мы преобразуем данные, готовые к использованию по своему усмотрению.