Как загрузить формат xml в excel

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

При наличии карты XML сделайте следующее для импорта данных XML в сопоставленные ячейки:

  1. В карте XML выберите одну из сопоставленных ячеек.

  2. На вкладке Разработчик нажмите кнопку Импорт.

    Если вкладка Разработчик не отображается, см. раздел Отображение вкладки «Разработчик».

  3. В диалоговом окне Импорт XML найдите и выберите файл данных XML (XML-файл), который вы хотите импортировать, и нажмите кнопку Импорт.

Другие способы импорта данных XML

  • Импорт файла данных XML в качестве XML-таблицы

  • Импорт нескольких файлов данных XML

  • Импорт нескольких файлов данных XML в качестве внешних данных

  • Открытие файла данных XML для импорта данных

Дополнительные сведения о проблемах см. в разделе Типичные проблемы при импорте данных XML в конце этой статьи.

Импорт файла данных XML в качестве XML-таблицы

  1. На вкладке Разработчик нажмите кнопку Импорт.

    Если вкладка Разработчик не отображается, см. раздел Отображение вкладки «Разработчик».

  2. В диалоговом окне Импорт XML найдите и выберите файл данных XML (XML-файл), который вы хотите импортировать, и нажмите кнопку Импорт.

    Если файл данных XML не ссылается ни на какую схему, Excel создает ее на основе этого файла.

  3. В диалоговом окне Импорт данных выполните одно из следующих действий:

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

    2. Чтобы импортировать содержимое файла в XML-таблицу на новом, начиная с ячейки A1, выберите XML-таблицу на новом. Карта файла данных XML отобразится в области задач Источник XML.

  4. Если файл данных XML не ссылается ни на какую схему, Excel создает ее на основе этого файла.

  5. Чтобы контролировать поведение данных XML (например, привязку данных, форматирование и макет), нажмите кнопку Свойства ,чтобы отобразить диалоговое окно Свойства карты XML. Например, при импорте данных по умолчанию существующие данные в диапазоне будут перезаписаны, но это можно изменить.

Импорт нескольких файлов данных XML

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

    Если вы хотите импортировать несколько XML-файлов в несколько наборов сопоставленных ячеек, щелкните любую несопоставленную ячейку листа.

  2. На вкладке Разработчик нажмите кнопку Импорт.

    Если вкладка Разработчик не отображается, см. раздел Отображение вкладки «Разработчик».

  3. В диалоговом окне Импорт XML найдите и выберите файл данных XML (XML-файл), который вы хотите импортировать.

    • Если файлы являются смежными, нажмите клавишу SHIFT, а затем щелкните первый и последний файл в списке. Все данные из XML-файлов будут импортированы и добавлены в сопоставленные ячейки.

    • Если файлы не являются смежными, нажмите клавишу CTRL, а затем щелкните все файлы списка, которые вы хотите импортировать.

  4. Нажмите кнопку Импорт.

    Если вы выбрали несколько файлов, появится диалоговое окно Импорт <>.xml файл. Выберите карту XML, соответствующую импортируемому файлу данных XML.

    Чтобы использовать одну карту для всех выделенных файлов, которые еще не были импортированы, установите флажок Использовать эту карту XML для всех выбранных файлов этой схемы.

Импорт нескольких файлов данных XML в качестве внешних данных

Если нужно импортировать несколько XML-файлов с одним пространством имен, но с разными схемами XML, вы можете воспользоваться командой Из импорта данных XML. Excel создаст уникальную карты XML для каждого импортируемого файла данных XML.

Примечание: При импорте нескольких XML-файлов, в которых не определено пространство имен, считается, что они используют одно пространство имен.

  1. Если вы используете Excel с подпиской наMicrosoft 365, щелкните Данные > Получить данные > из файла > из XML.

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

  2. Выберите диск, папку или расположение в Интернете, где находится файл данных XML (XML-файл), который вы хотите импортировать.

  3. Выберите файл и нажмите кнопку Открыть.

  4. В диалоговом окне Импорт данных выберите один из следующих параметров:

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

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

    • На новый лист.    Excel добавляет в книгу новый лист и автоматически помещает данные XML в его левый верхний угол. Если файл данных XML не ссылается ни на какую схему, Excel создает ее на основе этого файла.

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

Открытие файла данных XML для импорта данных

  1. Выберите команду Файл > Открыть.

    Если вы используете Excel 2007, нажмите Microsoft Office кнопку Изображение кнопки Office >открыть.

  2. В диалоговом окне Открытие файла выберите диск, папку или веб-адрес, где расположен нужный файл.  

  3. Выберите файл и нажмите кнопку Открыть.

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

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

    • Открыть файл, применив следующую таблицу стилей (выберите одну).    Выберите таблицу стилей, которую вы хотите применить, и нажмите кнопку ОК. Данные XML будут отформатированы в соответствии с выбранным листом стилей.

      Примечание: Данные XML будут открыты в Excel в режиме «только для чтения», что позволяет предотвратить случайное сохранение первоначального исходного файла в формате книги Excel с поддержкой макросов (XLSM). В этом случае схема не создается и вы не можете использовать карту XML.

  5. Если появится диалоговое окно Открыть XML, в XML-файле не будет ссылок на таблицу стилей XSLT. Чтобы открыть файл, выберите один из следующих параметров:

    • Щелкните XML-таблица для создания XML-таблицы в новой книге.

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

    • Выберите в качестве книги, которая будет работать только для чтения.

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

      Данные XML будут открыты в Excel в режиме «только для чтения», что позволяет предотвратить случайное сохранение первоначального исходного файла в формате книги Excel с поддержкой макросов (XLSM). В этом случае схема не создается и вы не можете использовать карту XML.

    • Щелкните Использовать область задач XML-источника.

      Карта файла данных XML отобразится в области задач Источник XML. Для сопоставления элементов схемы с листом их можно перетащить на лист.

      Если файл данных XML не ссылается ни на какую схему, Excel создает ее на основе этого файла.

Распространенные проблемы при импорте данных XML

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

Ошибка

Объяснение

Ошибка при проверке схемы

Когда вы выбрали в диалоговом окне Свойства карты XML параметр Проверять данные на соответствие схеме при импорте и экспорте, данные были импортированы, но не проверены на соответствие указанной карте XML.

Некоторые данные были импортированы как текст

Часть импортированных данных или все данные были преобразованы из объявленного типа в текст. Чтобы использовать эти данные в вычислениях, необходимо преобразовать их в числа или даты. Например, значение даты, преобразованное в текст, не будет работать должным образом в функции ГОД, пока вы не преобразуйте его в тип данных «Дата». Excel преобразует данные в текст в следующих случаях:

  • Данные в формате, который Excel не поддерживается.

  • Данные несовместимы с внутренним представлением типа данных XSD в Excel. Чтобы исправить эту проблему, удостоверьтесь, что данные XML соответствуют XML-схеме, проверив каждое из определений типа данных.

Ошибка разбора XML

Средству синтаксического анализа XML не удается открыть указанный XML-файл. Убедитесь, что в XML-файле отсутствуют синтаксические ошибки и XML построен правильно.

Не удается найти карту XML, соответствующую этим данным

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

Не удается изменить размер XML-таблицы для включения данных

Вы пытаетесь добавить строки путем импорта или добавления данных в XML-таблицу, однако таблицу невозможно расширить. XML-таблицу можно дополнять только снизу. Например, сразу под XML-таблицей может находиться объект, такой как рисунок или даже другая таблица, который не позволяет расширить ее. Кроме того, возможно, что при расширении XML-таблицы будет превышен установленный в Excel предел по количеству строк (1 048 576). Чтобы исправить эту проблему, измените расположение таблиц и объектов на листе, чтобы XML-таблица могла дополняться снизу.

Указанный XML-файл не ссылается на схему

XML-файл, который вы пытаетесь открыть, не ссылается на схему XML. Для работы с данными XML, содержащимися в файле, Excel требуется схема, основанная на его содержимом. Если такая схема неверна или не отвечает вашим требованиям, удалите ее из книги. Затем создайте файл схемы XML и измените файл данных XML так, чтобы он ссылался на схему. Дополнительные сведения см. в статье Сопоставление XML-элементов с ячейками карты XML.

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

Выполните следующие действия, чтобы удалить из книги схему, созданную Excel:

  1. На вкладке Разработчик выберите команду Источник.

    Команды XML на вкладке "Разработчик"

    Если вкладка Разработчик не отображается, см. раздел Отображение вкладки «Разработчик».

  2. В области задач Источник XML выберите пункт Карты XML.

  3. В диалоговом окне Карты XML щелкните карту XML, созданную Excel ,и нажмите кнопку Удалить.

Возникают проблемы при импорте нескольких XML-файлов, которые используют одно пространство имен, но разные схемы

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

Если нужно импортировать несколько XML-файлов с одним пространством имен, но с разными схемами XML, вы можете воспользоваться командой Из импорта данных XML (выберите Данные > Из других источников). Эта команда позволяет импортировать несколько XML-файлов с одним пространством имен и разными схемами XML. Excel создаст уникальную карты XML для каждого импортируемого файла данных XML.

Примечание: При импорте нескольких XML-файлов, в которых не определено пространство имен, считается, что они используют одно пространство имен.

Отображение вкладки «Разработчик»

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

  • В Excel 2013 и Excel 2010

    1. Выберите Файл > Параметры.

    2. Щелкните категорию Настроить ленту.

    3. В разделе Основные вкладки установите флажок Разработчик и нажмите кнопку ОК.

  • В Excel 2007

    1. Нажмите кнопку Microsoft Office кнопку Изображение кнопки Office>Excel параметры.

    2. Выберите категорию Основные.

    3. В разделе Основные параметры работы с Excel установите флажок Показывать вкладку «Разработчик» на ленте и нажмите кнопку ОК.

См. также

Просмотр XML в Excel

Сопоставление XML-элементов с ячейками карты XML

Экспорт данных XML

Содержание

  • Процесс конвертации
    • Способ 1: встроенный функционал Excel
    • Способ 2: импорт данных
    • Способ 3: онлайн-конвертер
  • Вопросы и ответы

Конвертация из XML в Microsoft Excel

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

Процесс конвертации

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

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

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

  1. Запускаем Эксель. Во вкладке «Файл» переходим по пункту «Открыть».
  2. Переход к открытию файла в Microsoft Excel

  3. Активируется окно открытия документов. Переходим в директорию, где хранится нужный нам документ XML, выделяем его и жмем на кнопку «Открыть».
  4. Открытие файла XML в Microsoft Excel

  5. После того, как документ открыт через интерфейс Эксель, опять переходим во вкладку «Файл».
  6. Переход во вкладку Файл в Microsoft Excel

  7. Перейдя в эту вкладку, кликаем по пункту «Сохранить как…».
  8. Переход к сохранению файла в Microsoft Excel

  9. Открывается окно, похожее на окно для открытия, но с некоторыми отличиями. Теперь нам нужно сохранить файл. С помощью инструментов навигации переходим в директорию, где будет храниться преобразованный документ. Хотя можно его оставить и в текущей папке. В поле «Имя файла» при желании можно его переименовать, но это тоже не обязательно. Для нашей задачи основным является следующее поле – «Тип файла». Кликаем по этому полю.
    Переход к выбору формата в Microsoft Excel

    Из предложенных вариантов выбираем Книга Excel или Книга Excel 97-2003. Первый из них более новый, второй – уже несколько устаревший.

  10. Выбор формата в Microsoft Excel

  11. После того, как выбор произведен, жмем на кнопку «Сохранить».

Сохранение файла в Microsoft Excel

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

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

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

  1. Перейдя во вкладку «Файл», кликаем по пункту «Параметры».
  2. Переход в параметры в Microsoft Excel

  3. В окне параметров переходим в подраздел «Настройка ленты». В правой части окна ставим галочку около пункта «Разработчик». Жмем на кнопку «OK». Теперь нужная функция активирована, а соответствующая вкладка появилась на ленте.
  4. Включение режима разработчика в Microsoft Excel

    Lumpics.ru

  5. Переходим во вкладку «Разработчик». На ленте в блоке инструментов «XML» жмем на кнопку «Импорт».
  6. Переход к импорту XML в Microsoft Excel

  7. Открывается окно импорта. Переходим в директорию, где располагается нужный нам документ. Выбираем его и жмем на кнопку «Импорт».
  8. Импорт файла XML в Microsoft Excel

  9. Далее может открыться диалоговое окно, в котором говорится, что выбранный файл не ссылается на схему. В нем будет предложено создать программе схему самостоятельно. В этом случае соглашаемся и жмем на кнопку «OK».
  10. Диалоговое окно в Microsoft Excel

  11. Далее открывается следующее диалоговое окно. В нем предлагается определиться открывать таблицу в действующей книге или в новой. Так как мы запустили программу без открытия файла, то можем оставить данную настройку по умолчанию и продолжить работу с текущей книгой. Кроме того, это же окно предлагает определить координаты на листе, куда будет импортирована таблица. Можно вписать адрес вручную, но намного проще и удобнее просто кликнуть по ячейке на листе, которая станет верхним левым элементом таблицы. После того, как адрес занесен в поле диалогового окна, жмем на кнопку «OK».
  12. Координаты вставки таблицы в Microsoft Excel

  13. После этих действий таблица XML будет вставлена в окно программы. Для того чтобы сохранить файл в формате Excel кликаем по иконке в виде дискеты в верхнем левом углу окна.
  14. Переход к сохранению нового файла в Microsoft Excel

  15. Открывается окно сохранения, в котором нужно определить директорию, где будет храниться документ. Формат файла на этот раз будет уже предустановлен XLSX, но при желании вы можете раскрыть поле «Тип файла» и установить другой формат Эксель – XLS. После того, как настройки сохранения выставлены, хотя в данном случае они могут быть и оставленными по умолчанию, жмем на кнопку «Сохранить».

Сохранение файла в программе Microsoft Excel

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

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

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

Онлайн-конвертер Convertio

  1. Переходим на данный веб-ресурс с помощью любого браузера. На нем можно выбрать 5 способов загрузки конвертируемого файла:
    • С жесткого диска компьютера;
    • Из онлайн-хранилища Dropbox;
    • Из онлайн-хранилища Google Drive;
    • По ссылке из интернета.

    Так как в нашем случае документ размещен на ПК, то жмем на кнопку «С компьютера».

  2. Переход к загрузке файла на Convertio

  3. Запускается окно открытия документа. Переходим в ту директорию, где он размещен. Кликаем по файлу и жмем на кнопку «Открыть».
    Загрузка файла на Convertio

    Существует также альтернативный вариант добавления файла на сервис. Для этого нужно просто перетянуть его название мышкой из Проводника Windows.

  4. Как видим, файл добавился на сервис и находится в состоянии «Подготовлено». Теперь нужно выбрать необходимый нам формат для конвертации. Кликаем по окошку рядом с буквой «В». Открывается список групп файлов. Выбираем «Документ». Далее открывается перечень форматов. Выбираем «XLS» или «XLSX».
  5. Выбор формата файла на Convertio

  6. После того, как наименование нужного расширения добавлено в окошко, жмем на большую красную кнопку «Преобразовать». После этого, документ будет преобразован и доступен для загрузки на этом ресурсе.

Запуск преобразования на Convertio

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

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

Еще статьи по данной теме:

Помогла ли Вам статья?

Microsoft Excel – удобный инструмент для организации и структурирования самых разнообразных данных. Он позволяет обрабатывать информацию разными методами, редактировать массивы данных.

Рассмотрим возможности использования его для формирования и обработки файлов веб-приложений. На конкретном примере изучим основы работы с XML в Excel.

Как создать XML-файл из Excel

XML – стандарт файла для передачи данных в Сети. Excel поддерживает его экспорт и импорт.

Рассмотрим создание XML-файла на примере производственного календаря.

  1. Сделаем таблицу, по которой нужно создать XML файл в Excel и заполним ее данными.
  2. Создадим и вставим карту XML с необходимой структурой документа.
  3. Экспортируем данные таблицы в XML формат.

Итак.

  1. Наша таблица – производственный календарь.
  2. Таблица производственный календарь.

  3. Создаем в любом текстовом редакторе (например, «Блокнот») желаемую карту XML структуры для генерации файла сохраним. В данном примере буде использовать следующую карту структуры:
  4. Открываем инструмент «Разработчик». Диалоговое окно «Источник» на вкладке XML.
  5. Параметры.
    Источник XML.

  6. Если программа Excel не видит карт XML, их нужно добавить. Жмем «карты XML». И указываем путь к нашему файлу с выше указанной схемой карты созданной в текстовом редакторе.
  7. Карты XML.

  8. Добавить ОК.
  9. Добавление карт XML.

  10. В правой колонке появляются элементы схемы. Их нужно перетащить на соответствующие названия столбцов таблицы.
  11. Элементы схемы XML.

  12. Проверяем возможен ли экспорт.
  13. Экспорт XML.

  14. Когда все элементы будут сопоставлены, щелкаем правой кнопкой мыши по любой ячейке в таблице – XML – экспорт.
  15. Экспорт XML.

Сохраняем в XML файл.

Другие способы получения XML-данных (схемы):

  1. Скачать из базы данных, специализированного бизнес-приложения. Схемы могут предоставляться коммерческими сайтами, службами. Простые варианты находятся в открытом доступе.
  2. Использовать готовые образцы для проверки карт XML. В образцах – основные элементы, структура XML. Копируете – вставляете в программу «Блокнот» — сохраняете с нужным расширением.



Как сохранить файл Excel в формате XML

Один из вариантов:

  1. Нажимаем кнопку Office. Выбираем «Сохранить как» — «Другие форматы».
  2. Назначаем имя. Выбираем место сохранения и тип файла – XML.

Сохранить.

Если выдает ошибку, книгу можно сохранить в виде таблицы XML 2003 либо веб-страницы. С этими форматами проблем, как правило, не возникает.

Еще варианты:

  1. Скачать конвертер XLC в XML. Либо найти сервис, с помощью которого можно экспортировать файл онлайн.
  2. Скачать с официального сайта Microsoft надстройку XML Tools Add-in. Она в бесплатном доступе.
  3. Открываем новую книгу. Кнопка Office – «Открыть».

Как открыть XML файл в Excel

  1. Меняем формат на «файлы XML». Выбираем нужный файл. Жмем «Открыть».
  2. Способ открытия – XML-таблица. ОК.
  3. Способ открытия XML.

  4. Появляется оповещение типа
  5. Окно сообщения.

Жмем ОК. С полученной таблицей можно работать, как с любым файлом Excel.

Как преобразовать файл XML в Excel

  1. Меню «Разработчик» — вкладка «Импорт».
  2. Разработчик» импорт.

  3. В диалоговом окне выбираем файл XML, который хотим преобразовать.
  4. Нажимаем «Импорт». Программа Excel предложит самостоятельно создать схему на основе полученных данных. Соглашаемся – ОК. Откроется окно, где нужно выбрать место для импортируемого файла.
  5. Импорт данных.

  6. Назначаем диапазон для импорта. Лучше брать с «запасом». Жмем ОК.
  7. Результат после импорта.

Созданную таблицу редактируем и сохраняем уже в формате Excel.

Как собрать данные из XML файлов в Excel

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

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

Чтобы настроить параметры привязки, откройте в меню «Разработчик» инструмент «Свойства карты».

Свойства карты XML.

Возможности:

  1. Каждый новый файл будет проверяться программой Excel на соответствие установленной карте (если поставим галочку напротив этого пункта).
  2. Данные могут обновляться. Либо новая информация добавится в существующую таблицу (имеет смысл, если нужно собрать данные из похожих файлов).

Это все ручные способы импорта и экспорта файлов.

XML-файл содержит в себе данные, из которых можно автоматически создать удобную таблицу. Сегодня покажу, как превратить xml в Excel: в самой программе Майкрософт Эксель и онлайн-конвертерах, на случай если у вас нет приложения для управления таблицами.

Содержание

  1. Что такое форматы XML, XLS, XLSX, XLSM: какой выбрать для сохранения
  2. Microsoft Excel
  3. Обычное сохранение в xlsx
  4. Импорт данных через меню разработчика
  5. Онлайн-сервисы для конвертации
  6. Convertio
  7. Aconvert
  8. Aspose

Что такое форматы XML, XLS, XLSX, XLSM: какой выбрать для сохранения

XML – это язык разметки, используется на веб-страницах и является базовым форматом офисного инструмента Excel. Если открыть файл с расширением xml в Ворде или другом редакторе, появится текст-структура, чем-то похожая на html. Она будет непонятна обычным пользователям, но информативна для разработчиков.

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

XLS и XLSX – это основные форматы таблиц Excel. Первый – более устаревший, второй – более новый, основан на формате XML.

У XLSX больше преимуществ, чем у простого XLS. Именно в нем рекомендуется сохранять таблицы. Почему: файлы XLSX легче переносить в другие приложения, они менее подвержены повреждению и имеют меньший вес. Недостатков у нового расширения два: файлы могут дольше сохраняться и запускаться, их нельзя открыть в старых Excel 2003 года (XLSX стал форматом по умолчанию в версиях Эксель 2007 и выше).

У файлов Excel есть и другие, менее популярные расширения:

  • XLSM – поддерживает макросы. Если в вашей таблице они есть, выбирайте этот формат.
  • XLSTX – таблица, сохраненная в виде шаблона, который можно использовать как отправную точку для других ваших книг Эксель.
  • XLSTM – тот же файл-шаблон, только с поддержкой макросов.
  • XLSB – формат, который тоже работает с макросами. Подходит для больших таблиц с десятками тысяч строк. Размер файла уменьшается чуть ли не в два раза, а работа с ним при этом ускоряется. Недостаток – открывается только в Excel. Большинство альтернативных программ не запустят этот файл.

Microsoft Excel

Excel спокойно запустит файл xml, превратив структурированные данные в удобную пользовательскую таблицу. А уже открытую книгу с заполненными ячейками можно сохранить в формате xlsx – в самом интерфейсе Excel.

Обычное сохранение в xlsx

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

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

Что нужно сделать для перевода xml в Эксель:

  1. Запустите Microsoft Excel через ярлык на рабочем столе или в меню «Пуск». Программа Excel в меню "Пуск"
  2. Также можно открыть панель поиска по системе и отыскать иконку приложения там. Программа Excel в поиске Windows
  3. Попробуйте найти ваш файл xml в списке последних документов. Если там его нет, нажмите «Открыть другие книги», чтобы сразу запустить поиск файла в «Проводнике Windows». Либо нажмите «Пустая книга» – на экране появится пока что пустая таблица. Создание пустой книги Excel
  4. Кликните «Файл», если запустили пустую книгу. Меню "Файл" в Excel
  5. Перейдите в раздел «Открыть» и кликните «Обзор». Открытие нового файла в Excel
  6. Выберите папку, выделите файл и щелкните снова «Открыть». Поиск файла xml в "Проводнике Виндовс"
  7. Или просто отыщите xml на жестком диске ПК и перетащите его на пустую таблицу в окне Excel. Перетаскивание файла xml на пустое окно Excel
  8. Выберите режим просмотра: «Xml-таблица» или «Книга, доступная только для чтения». Нажмите «ОК». Выбор способа открытия xml
  9. При желании поставьте галочку «Больше не показывать это сообщение» и щелкните «ОК». Программа создаст схему на основе данных из текущего xml. Создание схемы из данных файла xml
  10. При необходимости внесите изменения в таблицу и кликните «Файл».
  11. Зайдите в «Сохранить как». Выберите папку в списке справа или щелкните «Обзор». Сохранение xml как xlsx в Excel
  12. Укажите папку для сохранения таблицы, при желании смените имя. Затем раскройте меню «Тип файла». Выбор типа файла в Excel
  13. Выберите формат: xlsx, xls, xlsm и т. д. Нажмите «Сохранить». Список форматов Excel
  14. В выбранной папке (в моем случае на рабочем столе, так как я указала «Desktop» для сохранения) появится файл с иконкой Excel. Теперь вы можете запускать документ, как и все другие файлы на ПК – двойным щелчком левой кнопки мыши. Таблица xlsx из файла xml

Импорт данных через меню разработчика

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

Как его включить и запустить импорт:

  1. Откройте Excel с помощью ярлыка на рабочем столе или в «Пуске». Создайте пустую книгу. Также можно запустить любую таблицу, хранящуюся на ПК, если вдруг не нашли ярлык пустого окна программы. Раскройте меню «Файл». Перейдите в «Параметры». Параметры Excel
  2. Зайдите в раздел «Настроить ленту». Поставьте галочку «Разработчик». Нажмите «ОК». Включение вкладки разработчика в Excel
  3. Теперь перейдите в саму вкладку «Разработчик», которая появилась вверху рядом с другими привычными разделами. Щелкните «Импорт». Импорт данных из xml в Excel
  4. Найдите и выделите файл xml. Кликните «Импорт». Выбор документа xml в "Проводнике"
  5. Нажмите «ОК».
  6. Если вы ранее запустили пустой лист с помощью ярлыка Excel, оставьте отмеченным пункт «В XML-таблицу в существующей книге» и выберите левую верхнюю ячейку, с которой должна начинаться ваша таблица. Можно вручную прописать адрес ячейки в поле или выбрать ее в самой книге. Если вы ранее открыли существующую таблицу, выберите пункт «В XML-таблицу в новой книге». Нажмите «ОК». Выбор места для таблицы в Excel
  7. На экране появится содержимое документа xml. При необходимости внесите какие-либо изменения. Далее для сохранения кликните по дискете либо по меню «Файл» – «Сохранить как». Сохранение данных из xml в xls
  8. Нажмите «Обзор». Сохранение таблицы в Microsoft Excel
  9. Укажите папку для сохранения, новое имя файла, выберите тип файла. Нажмите «Сохранить». Выбор папки и имени для сохранения таблицы Excel

Онлайн-сервисы для конвертации

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

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

Convertio

Convertio преобразует самые разные виды файлов: картинки, видео, текстовые документы, таблицы, шрифты, презентации, электронные книги, архивы. Всего на счету у сервиса более 300 форматов.

Три способа загрузки файлов: с жесткого диска ПК, из облачных хранилищ Dropbox и Google Drive.

Есть лимиты бесплатной версии. Общий вес загружаемых файлов не должен превышать 100 Мб за один раз. Стоимость подписки: от 10$ до 26$ в месяц в зависимости от тарифа.

Как пользоваться:

  1. Перейдите на сайт Convertio и выберите способ загрузки файла: с жесткого диска ПК (папка с лупой), из «облака» Dropbox или Google Drive. В первом случае найдите xml-документы в «Проводнике Windows». В последних двух – сначала предоставьте доступ к хранилищу, написав логин и пароль от него. Загрузка файла xml в Convertio
  2. Подождите, пока файл загрузится на сайт. Далее раскройте меню «в». Либо добавьте еще файлов с помощью специальной кнопки, если про какие-то забыли в предыдущем шаге. Добавление новых файлов в Convertio
  3. Укажите один из форматов Excel: xlsx, xls. Они расположены в разделе «Документ». Нажмите на красную кнопку «Конвертировать», чтобы запустить преобразование. Выбор нового формата для файла xml в Convertio
  4. Подождите, пока закончится конвертация. Если файл большой, возможно, понадобится больше времени. Преобразование продолжится даже если вы закроете страницу или перейдите в другую вкладку браузера. Если боитесь потерять сайт, скопируйте адрес в буфер обмена ПК с помощью специальной ссылки под файлом. Конвертация документа в Convertio
  5. Когда появится кнопка «Скачать», нажмите на нее и укажите папку для сохранения таблицы. Если у вас в браузере отключена функция ручного выбора каталога, файл автоматически скачается в папку «Загрузки» или в любую другую, установленную в настройках веб-обозревателя. Документ будет храниться на сервере Convertio в течение суток. В любой момент этого срока вы можете перейти в раздел «Мои файлы» (функция доступна даже без регистрации) и еще раз загрузить таблицу на ПК. Скачивание таблицы xlsx из Convertio

Aconvert

Сервис Aconvert предлагает на выбор два способа загрузки. Первый – классический, с жесткого диска ПК (кнопка «File»).

Загрузка файла xml с ПК в сервис Aconvert

Второй – по ссылке в интернете. Если ваш xml-документ опубликован в сети, вы можете просто вставить ссылку на него в меню «URL».

Вставка ссылки на файл xml в Aconvert

Послужной список форматов тоже внушительный. Базу данных xml можно сконвертировать не только в xls и xlsx, но и в другие виды: pdf, doc, ppt, rtf, odt, xps и т. д. Сервис полностью бесплатный. Купить подписку никто не предлагает.

Выбор нового формата для файла xml в Aconvert

Обработать за раз можно только один файл. Конечный документ будет в таблице «Результаты конверсий». Чтобы перейти к скачиванию, кликните по стрелке.

Скачивание таблицы в Aconvert

На открывшейся странице появится QR-код. Вы можете отсканировать его смартфоном – тогда эта же страница откроется в мобильном браузере, сможете скачать документ на телефон. Файл можно отправить в ваше облачное хранилище: Dropbox, Google Drive, One Drive. Также разрешается сжать файл перед загрузкой, если есть требования к его весу. Вверху будет отображаться обратный отсчет – через сколько времени обработанный файл автоматически удалится с сервера Aconvert.

Чтобы скачать xls-таблицу на ПК, кликните по ссылке «URL-адрес файла». Отправка таблицы Excel в облачное хранилище

Откроется страница Яндекса с предпросмотром таблицы. Щелкните по стрелке, чтобы запустить загрузку либо сохраните документ на Яндекс Диске.

Скачивание таблицы xlsx в Aconvert

Aspose

У Aspose еще больше способов загрузки. Можно добавить файл с ПК, вставить ссылку на него в интернете или выбрать документ из «облака» (Dropbox, Google Drive).

Загрузка файла xml в Aspose

XML можно перевести в xls, xlsx, xlsm, xlsb, xlt, xltx, xltm, pdf, png, jpg, html и многие другие форматы. Одновременно можно обработать до 10 файлов.

Выбор нового формата для конвертации в Aspose

Готовые таблицы скачиваются на ПК либо помещаются в те же облачные хранилища Dropbox, Google Drive. Также разрешается отправить ссылку на скачивание файлов по электронной почте. Обработанные документы хранятся на сервере Aspose в течение 24 часов. Сервис бесплатный. Подписку оформить никто не предлагает.

Скачивание таблицы из Aspose

***

Если на вашем ПК установлена программа Excel, используйте ее как конвертер xml. Заодно можете внести какие-либо изменения в документ. Если таблица относительно простая, используйте обычное сохранение. Если сложная и большая – лучше запустить импорт данных в меню разработчика.

За неимением Эксель можно всегда использовать онлайн-конвертеры. Они работают без регистрации. Для одновременной обработки нескольких файлов возьмите Convertio или Aspose. Aconvert позволит открыть предпросмотр таблицы перед скачиванием.

Трюк №95. Загрузка документа XML в Excel

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

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

В этом трюке используются возможности Excel, доступные только в Excel для Windows старше 2003 года. Более ранние версии Excel не поддерживают их; эти возможности не поддерживаются и в существующих, и планируемых версиях Excel для Macintosh.

Начнем с простого документа XML, приведенного в листинге 8.1.

// Листинг 8.1. Простой документ XML для анализа в Excel 2003-10-05 0596005385 Off1ce 2003 XML Essentia1s

34.95 200 Zork’s Books

2003-10-05 0596002920 XML in a Nutshell. 2nd Edition

90 Zork’s Books 2003-10-05 0596002378 SAX2

300 Zork’s Books 2003-10-05 0596005385 Office 2003 XML Essentials

10 Books of Glory 2003-10-05 0596002920 XML in a Nutshell, 2nd Edition

25 Books of Glory 2003-10-07 0596002378 SAX2

5 Books of Glory 2003-10-18 0596002378 SAX2

15 Title Wave 2003-10-21 0596002920 XML in a Nutshell. 2nd Edition

15 Books for You

Этот документ можно открыть непосредственно в Excel командой Файл → Открыть (File → Open). Откроется диалоговое окно (рис. 8.1).

Рис. 8.1. Открытие файла XML в Excel

Если вы выберете переключатель XML-список (As an XML list), то увидите предупреждение, что Excel создаст собственную схему для этого документа, не имеющего схемы (рис. 8.2).

Рис. 8.2. Предупреждение Excel об отсутствии ссылок на схему

Щелкнув кнопку ОК, вы увидите, какой способ Excel выбрал для представления информации в открываемом документе в виде электронной таблицы (рис. 8.3). Обратите внимание, что Excel ожидает встретить формат даты, который используется для элемента даты, поэтому даты, импортированные как 2003-10-05, будут отображаться как 10/5/2003.

Рис. 8.3. Данные XML, представленные как XML-список в Excel

Теперь, когда документ загружен в Excel, обрабатывать данные можно так же, как любые другие данные в Excel, — вставлять их в формулы, создавать именованные диапазоны, строить диаграммы на основе содержимого и т. д. Чтобы помочь вам, в Excel предусмотрено несколько встроенных возможностей анализа данных.

Раскрывающиеся списки в заголовках столбцов позволяют выбирать способ сортировки данных (по умолчанию данные выводятся в том порядке, в котором они записаны в исходном документе). Можно также включить отображение строки итогов Итог (Total); для этого можно воспользоваться панелью инструментов Список (List) или щелкнуть правой кнопкой мыши в любом месте списка и в контекстном меню выбрать команду Список → Строка итогов (List → Total Row). Когда строка итогов появится, выбрать вид итоговой информации можно будет в раскрывающемся меню (рис. 8.4).

Рис. 8.4. Выбор итогов для списка XML в Excel

Данные можно обновить, добавив при этом в обновляемую область информацию из документа XML с такой же структурой. Если у вас есть еще один документ с такой структурой, можете щелкнуть список правой кнопкой мыши, в контекстном меню выбрать команду XML → Импорт (XML → Import) и выбрать второй документ. Кроме того, после редактирования данные можно экспортировать обратно в файл XML, щелкнув список правой кнопкой мыши и выбрав в контекстном меню команду XML → Экспорт (XML → Export). Это превращает Excel в очень удобный инструмент редактирования простых XML-документов с табличной структурой.

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

// Листинг 8.2. Схема для данных о продаже книг

Обратите внимание, что элемент date определен как дата, а элемент ISBN определен как строка, а не как целое число. Если вы начнете с открытия этой схемы, а не документа, то заставите Excel загружать документ, сохранив ведущий нуль в ISBN.

На этот раз вы создадите список до загрузки документа XML, начав с пустого рабочего листа. Вам понадобится открыть область задач Источник XML (XML Source). Если она еще не открыта, нажмите сочетание клавиш Ctrl+Fl. Затем в раскрывающемся списке вверху области задач выберите Источник XML (XML Source) и вы увидите что-то похожее на рис. 8.6.

Рис. 8.6. Область задач Источник XML

Чтобы загрузить схему, щелкните кнопку Карты XML (XML Maps). Откроется диалоговое окно Карты XML (XML Maps) (рис. 8.7).

Рис. 8.7. Диалоговое окно Карты XML

Щелкните кнопку Добавить (Add), чтобы открыть схему, и выберите схему (рис. 8.8). Если схема не ограничивает документы одним начальным элементом, появится диалоговое окно с просьбой выбрать корневой элемент. Так как документы в этом примере начинаются с элемента sales, выберите «sales».

Рис. 8.8. Выбор XML-схемы

Когда вы щелкнете кнопку ОК, появится предупреждение о возможных сложностях с интерпретацией схем. XML-схема (XML Schema) — это огромная спецификация, поддерживающая чрезвычайно много структур, не отвечающих способу восприятия информации в Excel, поэтому в Excel есть некоторые ограничения.

В диалоговом окне Карты XML (XML Maps) Excel сообщит, что схема была добавлена к электронной таблице. Если вы щелкнете кнопку ОК, то вернетесь в главное окно Excel и в области задач Источник XML (XML Source) появится диаграмма, отображающая структуру схемы. Теперь, когда у вас есть структура, можно создать список. Самый простой способ сделать это, особенно с небольшими документами, как наш, — перетащить значок sales на ячейку А1.

Теперь, обустроив дом для данных, нужно заселить его. Можно щелкнуть кнопку Импорт XML-данных (Import XML Data) на панели инструментов Список (List) или щелкнуть правой кнопкой мыши список и в контекстном меню выбрать кнопку XML → Импорт (XML → Import). Если вы выберете файл, который уже открывали ранее (в листинге 8.1), то увидите результат, как на рис. 8.3. Обратите внимание на добавление ведущих нулей к значениям, которые теперь являются текстовыми, как и должно быть.

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

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

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

Конвертация файлов XML в форматы Excel

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

Процесс конвертации

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

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

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

  1. Запускаем Эксель. Во вкладке «Файл» переходим по пункту «Открыть».

Активируется окно открытия документов. Переходим в директорию, где хранится нужный нам документ XML, выделяем его и жмем на кнопку «Открыть».

После того, как документ открыт через интерфейс Эксель, опять переходим во вкладку «Файл».

Открывается окно, похожее на окно для открытия, но с некоторыми отличиями. Теперь нам нужно сохранить файл. С помощью инструментов навигации переходим в директорию, где будет храниться преобразованный документ. Хотя можно его оставить и в текущей папке. В поле «Имя файла» при желании можно его переименовать, но это тоже не обязательно. Для нашей задачи основным является следующее поле – «Тип файла». Кликаем по этому полю.

Из предложенных вариантов выбираем Книга Excel или Книга Excel 97-2003. Первый из них более новый, второй – уже несколько устаревший.

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

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

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

      Перейдя во вкладку «Файл», кликаем по пункту «Параметры».

    В окне параметров переходим в подраздел «Настройка ленты». В правой части окна ставим галочку около пункта «Разработчик». Жмем на кнопку «OK». Теперь нужная функция активирована, а соответствующая вкладка появилась на ленте.

    Переходим во вкладку «Разработчик». На ленте в блоке инструментов «XML» жмем на кнопку «Импорт».

    Открывается окно импорта. Переходим в директорию, где располагается нужный нам документ. Выбираем его и жмем на кнопку «Импорт».

    Далее может открыться диалоговое окно, в котором говорится, что выбранный файл не ссылается на схему. В нем будет предложено создать программе схему самостоятельно. В этом случае соглашаемся и жмем на кнопку «OK».

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

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

  • Открывается окно сохранения, в котором нужно определить директорию, где будет храниться документ. Формат файла на этот раз будет уже предустановлен XLSX, но при желании вы можете раскрыть поле «Тип файла» и установить другой формат Эксель – XLS. После того, как настройки сохранения выставлены, хотя в данном случае они могут быть и оставленными по умолчанию, жмем на кнопку «Сохранить».
  • Таким образом, конвертация в нужном для нас направлении будет совершена с максимально корректным преобразованием данных.

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

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

    1. Переходим на данный веб-ресурс с помощью любого браузера. На нем можно выбрать 5 способов загрузки конвертируемого файла:
      • С жесткого диска компьютера;
      • Из онлайн-хранилища Dropbox;
      • Из онлайн-хранилища Google Drive;
      • По ссылке из интернета.

    Так как в нашем случае документ размещен на ПК, то жмем на кнопку «С компьютера».

    Запускается окно открытия документа. Переходим в ту директорию, где он размещен. Кликаем по файлу и жмем на кнопку «Открыть».

    Существует также альтернативный вариант добавления файла на сервис. Для этого нужно просто перетянуть его название мышкой из Проводника Windows.
    Как видим, файл добавился на сервис и находится в состоянии «Подготовлено». Теперь нужно выбрать необходимый нам формат для конвертации. Кликаем по окошку рядом с буквой «В». Открывается список групп файлов. Выбираем «Документ». Далее открывается перечень форматов. Выбираем «XLS» или «XLSX».

  • После того, как наименование нужного расширения добавлено в окошко, жмем на большую красную кнопку «Преобразовать». После этого, документ будет преобразован и доступен для загрузки на этом ресурсе.
  • Данный вариант может послужить хорошей подстраховкой на случай неимения доступа к стандартным инструментам для переформатирования по данному направлению.

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

    Отблагодарите автора, поделитесь статьей в социальных сетях.

    Экспорт Excel в XML и наоборот

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

    Вот данные, которые мы хотим преобразовать в файл XML:

    Сперва создадим схему, основанную на исходных данных в формате XML. Схема определяет структуру XML-файла.

      Excel для этой цели не подойдёт, поэтому откройте, к примеру, Блокнот и вставьте следующие строки:

    Примечание: Теги названы по именам столбцов, но вы можете дать им любое название. Например, вместо – .

    1. Сохраните файл как schema.xml.
    2. Откройте книгу Excel.
    3. Кликните по Source (Источник) на вкладке Developer (Разработчик). Откроется XML панель задач.
    4. Чтобы добавить карту XML, нажмите кнопку XML Maps (XML карты).Появится диалоговое окно XML Maps (Карты XML).
    5. Нажмите Add (Добавить).
    6. Выберите schema.xml и дважды кликните ОК.
    7. Теперь просто перетащите 4 элемента из дерева в XML панели задач на лист (строка 1).
    8. Нажмите кнопку Export (Экспорт) в разделе XML на вкладке Developer (Разработчик).
    9. Сохраните файл и нажмите Enter.

    Это экономит немало времени!

    Примечание: Для импорта XML-файла откройте пустую книгу. На вкладке Developer (Разработчик) нажмите кнопку Import (Импорт) и выберите XML-файл.

    Собрать данные из XML файлов в Excel и экспортировать

    Microsoft Excel – удобный инструмент для организации и структурирования самых разнообразных данных. Он позволяет обрабатывать информацию разными методами, редактировать массивы данных.

    Рассмотрим возможности использования его для формирования и обработки файлов веб-приложений. На конкретном примере изучим основы работы с XML в Excel.

    Как создать XML-файл из Excel

    XML – стандарт файла для передачи данных в Сети. Excel поддерживает его экспорт и импорт.

    Рассмотрим создание XML-файла на примере производственного календаря.

    1. Сделаем таблицу, по которой нужно создать XML файл в Excel и заполним ее данными.
    2. Создадим и вставим карту XML с необходимой структурой документа.
    3. Экспортируем данные таблицы в XML формат.
    1. Наша таблица – производственный календарь.
    2. Создаем в любом текстовом редакторе (например, «Блокнот») желаемую карту XML структуры для генерации файла сохраним. В данном примере буде использовать следующую карту структуры:
  • Открываем инструмент «Разработчик». Диалоговое окно «Источник» на вкладке XML.
  • Если программа Excel не видит карт XML, их нужно добавить. Жмем «карты XML». И указываем путь к нашему файлу с выше указанной схемой карты созданной в текстовом редакторе.
  • Добавить ОК.
  • В правой колонке появляются элементы схемы. Их нужно перетащить на соответствующие названия столбцов таблицы.
  • Проверяем возможен ли экспорт.
  • Когда все элементы будут сопоставлены, щелкаем правой кнопкой мыши по любой ячейке в таблице – XML – экспорт.
  • Сохраняем в XML файл.

    Другие способы получения XML-данных (схемы):

    1. Скачать из базы данных, специализированного бизнес-приложения. Схемы могут предоставляться коммерческими сайтами, службами. Простые варианты находятся в открытом доступе.
    2. Использовать готовые образцы для проверки карт XML. В образцах – основные элементы, структура XML. Копируете – вставляете в программу «Блокнот» — сохраняете с нужным расширением.

    Как сохранить файл Excel в формате XML

    Один из вариантов:

    1. Нажимаем кнопку Office. Выбираем «Сохранить как» — «Другие форматы».
    2. Назначаем имя. Выбираем место сохранения и тип файла – XML.

    Если выдает ошибку, книгу можно сохранить в виде таблицы XML 2003 либо веб-страницы. С этими форматами проблем, как правило, не возникает.

    1. Скачать конвертер XLC в XML. Либо найти сервис, с помощью которого можно экспортировать файл онлайн.
    2. Скачать с официального сайта Microsoft надстройку XML Tools Add-in. Она в бесплатном доступе.
    3. Открываем новую книгу. Кнопка Office – «Открыть».

    Как открыть XML файл в Excel

    1. Меняем формат на «файлы XML». Выбираем нужный файл. Жмем «Открыть».
    2. Способ открытия – XML-таблица. ОК.
    3. Появляется оповещение типа

    Жмем ОК. С полученной таблицей можно работать, как с любым файлом Excel.

    Как преобразовать файл XML в Excel

    1. Меню «Разработчик» — вкладка «Импорт».
    2. В диалоговом окне выбираем файл XML, который хотим преобразовать.
    3. Нажимаем «Импорт». Программа Excel предложит самостоятельно создать схему на основе полученных данных. Соглашаемся – ОК. Откроется окно, где нужно выбрать место для импортируемого файла.
    4. Назначаем диапазон для импорта. Лучше брать с «запасом». Жмем ОК.

    Созданную таблицу редактируем и сохраняем уже в формате Excel.

    Как собрать данные из XML файлов в Excel

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

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

    Чтобы настроить параметры привязки, откройте в меню «Разработчик» инструмент «Свойства карты».

    1. Каждый новый файл будет проверяться программой Excel на соответствие установленной карте (если поставим галочку напротив этого пункта).
    2. Данные могут обновляться. Либо новая информация добавится в существующую таблицу (имеет смысл, если нужно собрать данные из похожих файлов).

    Это все ручные способы импорта и экспорта файлов.

    Excel «Из импорта данных XML» не будет добавлять новые столбцы

    В Excel 2010 имеется потрясающая функция «Данные из других источников» -> «Из импорта данных XML», позволяющая извлекать XML из веб-службы, кодирование не требуется. Прекрасно работает, но мой сервис добавил новую колонку в конце. Обновление соединения в Excel не добавляет новый столбец. Фактически, при создании второго соединения с точно таким же URL-адресом в той же электронной таблице новый столбец также не будет отображаться (хотя то же самое будет сделано в другой книге Excel). Очевидно, Excel как-то кеширует столбцы.

    Я нашел эту ссылку который описывает возможный обходной путь путем ручного взлома файла Excel; но это было 3 года назад. Конечно, сейчас есть лучший способ.

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

    Параметры:

    • вкладка «Разработчик Excel 2010» (см. вопрос Excel Добавить Поле для карты XML ) ( search )
    • Excel 2007 (возможно, другие). Похоже, что решение было разработано с использованием VBA на форуме. сообщение: Вопрос XML — схема обновления /Картография ( архив ) ( архив программно с использованием функции отображения XML страница, на которой размещаются ссылки ). Код VBA приведен ниже.
    • Excel 2003 Панель инструментов XML для Excel 2003
    • ALL: ниже представлен обходной путь, который не нарушает формулы.

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

    Официального решения для Excel 2007 не существует. Похоже, существует два отдельных официальных решения: одно для Excel 2003 (надстройка) и одно для Excel 2010 (вкладка «Разработчик»).

    Вопрос Excel Добавить поле в Xml Карта предлагает три метода, которые могут работать.

    • Первым был Набор инструментов XML для Excel 2003 который может сделать это в Excel 2003. Комментарий к этому решению указал, что у него есть некоторые проблемы /проблемы и могут или не могут быть функциональными для вас. Ты можешь приходится использовать более старую версию в Excel или даже более старую операционную система.
    • Второй метод — «отредактировать файл .xls».
    • Третий — использовать вкладку «Разработчик Excel 2010».
    • Обходной путь представлен ниже (возможно, я выбрал простые одноразовые обновления, которые не должны повторяться, а сопоставление простое).
    • Сохраните лист в виде электронной таблицы XML. Отредактируйте схему, записанную в конце файла. Учитывая, что это XML, он целиком в тексте. Схема проста для понимания. Добавить столбец так же просто, как просто скопировать и вставить (с изменениями) несколько строк XML-текста. При использовании этого метода, вероятно, проще всего сделать копию вашего рабочего листа, удалить и заново создать карту и карту, а затем вырезать и вставить. Пример XML:

    (SO-форматирование требует пустой текст)

    Обходной путь: [добавлены /вставлены /удалены столбцы (столбцы)] (легко для простых сопоставлений, например, одной большой таблицы):

    1. Сделайте резервную копию своего листа.
    2. Удалите карту XML . Не отображение на листе. Просто карта XML.
    3. Пересоздайте карту. Теперь у него будет новая XML-схема.
    4. Если у вас есть формула /данные, которые будут перезаписаны дополнительными столбцами: вставьте достаточно столбцов сразу справа от текущей области налист, который содержит сопоставленные данные XML.
    5. Если есть какие-либо столбцы, которые были вставлены между старыми столбцами, вставьте в лист столбец, куда они пойдут. Да, это верно в области сопоставленных данных XML, и общее имя столбца будет временно назначено.
    6. Удалите все столбцы, которые не существуют в новом XML.
    7. Перетащите элементы из новой сопоставленной таблицы в верхний левый угол текущего сопоставления (или иным образом воссоздайте сопоставление на листе непосредственно над сопоставлением, которое вы не удалили ) .
    8. Вручную измените все заголовки, которые были обновлены (если ваши данные были помечены как имеющие заголовки).
    9. Повторите шаги с 4 по 8 для всех отдельных сопоставлений, которые есть в вашей книге. Обычно у меня есть только одно большое сопоставление, на которое я ссылаюсь, а не несколько маленьких сопоставлений.
    10. Обновите данные XML.

    Ваши формулы не должны были изменяться, и ссылки на ячейки в отображенных данных XML должны оставаться правильными. Чтобы убедиться, что вы правильно вставили все столбцы на шаге 3, перед внесением любых других изменений (т. Е. На шаге 1a) вы можете создать строку над сопоставлением XML, скопировать и вставить только значения из верхней строки. Обновив данные XML на шаге 10, вы можете убедиться, что старые заголовки строк соответствуют новому месту размещения.

    Примечание. Шаги 3 и 4 можно поочередно выполнить, сделав более сложное отображение элементов XML. Мне проще вставлять столбцы и сохранять соответствие 1-1 с элементами XMl.

    Это работало на моей машине через несколько испытаний и оставило формулы, ссылающиеся на область, как правильные. Файл, в котором вы можете экспериментировать, называется SO-XML mapping.xml и включен в приведенный ниже пример файла ( и здесь). )

    Учет общих изменений столбцов в некоторых таблицах данных, полученных из источника (или с использованием нескольких источников взаимозаменяемо):

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

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

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

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

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

    VBA-код от KMKfan 16 ноября 2009 г .:

    Комментарий в посте был:

    Вот обновление для этого кода. Этот код допускает несколько XML карты для обновления в той же книге, что и карты xsd и xml имеют одно и то же имя (то есть: исходная карта «MyMap» основана на MyMap.xsd. Должно быть очень полезно, если вы используете XML для отчетности и решите добавить часть данных для захвата. Вы можете обновить существующий сопоставление автоматически и нужно только вручную обновить новые данные элементы.

    Выделите импортированные данные и удалите заполненные строки. Затем выберите ячейку, в которую хотите вставить данные, и заново создайте соединение, перейдя в «Данные» -> Из импорта данных XML. Когда он воссоздает соединение, он должен добавить ваш дополнительный столбец. (Если вы попытаетесь обновить таблицу данных, которая в данный момент существует, она не добавит ваш столбец.)


    Download Article


    Download Article

    Do you need to convert an XML file to the XLSX or CSV format? Converting XML data files to Excel is super easy—you’ll just need to import the data into a workbook and save the file. As long as you’re using a recent version of Excel (2016 & later for Windows, or 2019 & later for Mac), you can also use Power Query to transform your XML data before making a conversion. This wikiHow will teach you two simple ways to convert any XML file in Excel, including a quick trick you can use if you don’t have Microsoft Excel on your computer.

    Things You Should Know

    • You can use Excel’s Power Query tool to transform XML data before saving the file in the XLSX format.
    • If you’re using Windows, you can import XML files from the web in addition to files already on your computer.
    • If Microsoft Excel isn’t installed on your PC or Mac, you can copy and paste the contents of an XML file from a text editor into a web-based converter.
    1. Image titled Convert XML to Excel Step 1

      1

      Open a new blank workbook in Microsoft Excel. You’ll find Excel in your Windows Start menu or your Mac’s Applications. Click Blank workbook on the welcome screen to start fresh.

    2. Image titled Convert XML to Excel Step 2

      2

      Click the Data tab. You’ll see it at the top of Excel.

      Advertisement

    3. Image titled Convert XML to Excel Step 3

      3

      Click Get Data. This icon is on the left side of the toolbar at the top of Excel for Windows.

    4. Image titled Convert XML to Excel Step 4

      4

      Select From File (Windows) or Text/CSV (Mac). Choosing this option allows you to select an XML file from your computer or any connected network and cloud drives.

      • If you’re using Windows, you can import an XML file from the web instead. Instead of choosing From File, select From Other Sources > From Web, enter the direct URL to the XML file, and then click OK. Then, skip to Step 7.
      • If you’re using a Mac, make sure the XML file you want to convert is already saved to your computer. Unlike in Windows, you won’t be able to open XML files from the web in Excel.
    5. Image titled Convert XML to Excel Step 5

      5

      Select From XML (Windows only). This opens your file browser.

    6. Image titled Convert XML to Excel Step 6

      6

      Select the XML file and click Import (Windows) or Next (Mac). The Navigator window will expand.

    7. Image titled Convert XML to Excel Step 7

      7

      Select the XML table name click Load. Choose the file name that has a table icon to its left—you’ll see a preview of the data from that table. When you click Load, the data from the XML file will appear in a brand new sheet in your workbook.

      • Windows: If you want to modify anything about the data first, such as column headers, you can click Transform Data instead. Then, make your changes in the Power Query window and click Close & Load at the top-left corner to add the data to a new worksheet.
      • Mac: If you want to modify anything about the XML data, click Load first, then launch Power Query by clicking the down-arrow next to the «Get Data» icon in the toolbar and selecting Launch Power Query Editor…. Make changes to your data, then click Close & Load on the Home tab.
    8. Image titled Convert XML to Excel Step 8

      8

      Save the file. You can save the file as an XLSX (Excel Workbook), CSV, or other format. Here’s how:

      • Click the File menu and choose Save As.
      • Click Browse (Windows) or On My Mac (Mac), then choose a folder.[1]
      • Type a name for your workbook.
      • If you want to save the file as an Excel XLSX file, choose Excel Workbook from the «Save as type» or «File Format» menu. You can choose any of the formats in the list, including CSV (Comma Delimited).
      • Click Save to save the file.
    9. Advertisement

    1. Image titled Convert XML to Excel Step 9

      1

      Go to https://wtools.io/convert-xml-to-excel in a web browser. This free tool makes it easy to convert XML files to the Excel XLSX format even if you don’t have Microsoft Excel installed.

    2. Image titled Convert XML to Excel Step 10

      2

      Open the contents of your XML file in a text editor. To use the online converter, you’ll need to copy the data from the XML file into the form in your browser. Double-clicking the XML file will open it in your default web browser, but the info may not copy correctly this way. To open the file in a text editor, right-click the file, select Open With, then choose a text editor like Notepad (Windows) or TextEdit (Mac).

    3. Image titled Convert XML to Excel Step 11

      3

      Copy the contents of the XML file. To do this, click anywhere in the text editor, then press Control + A (PC) or Command + A (Mac) to highlight everything in the file. Then, press Control + C (PC) or Command + C (Mac) to copy.

    4. Image titled Convert XML to Excel Step 12

      4

      Paste the copied data into the web form. You can do this easily by right-clicking the form and selecting Paste.

    5. Image titled Convert XML to Excel Step 13

      5

      Click the CONVERT & DOWNLOAD button below the form. This creates an XLSX file and downloads the file to your computer.

      • Depending on your settings, you might have to select a save location and click Save or OK to start the download.
    6. Advertisement

    Our Most Loved Articles & Quizzes

    Ask a Question

    200 characters left

    Include your email address to get a message when this question is answered.

    Submit

    Advertisement

    Video

    Thanks for submitting a tip for review!

    About This Article

    Article SummaryX

    1. Open the file in Excel.
    2. Click File.
    3. Click Save As.
    4. Change the file type to .CSV.
    5. Click Save.

    Did this summary help you?

    Thanks to all authors for creating a page that has been read 247,693 times.

    Is this article up to date?

    Время на прочтение
    9 мин

    Количество просмотров 62K

    Есть в IT-отрасли задачи, которые на фоне успехов в big data, machine learning, blockchain и прочих модных течений выглядят совершенно непривлекательно, но на протяжении десятков лет не перестают быть актуальными для целой армии разработчиков. Речь пойдёт о старой как мир задаче формирования и выгрузки Excel-документов, с которой сталкивался каждый, кто когда-либо писал приложения для бизнеса.

    Какие возможности построения файлов Excel существуют в принципе?

    1. VBA-макросы. В наше время по соображениям безопасности идея использовать макросы чаще всего не подходит.
    2. Автоматизация Excel внешней программой через API. Требует наличия Excel на одной машине с программой, генерирующей Excel-отчёты. Во времена, когда клиенты были толстыми и писались в виде десктопных приложений Windows, такой способ годился (хотя не отличался скоростью и надёжностью), в нынешних реалиях это с трудом достижимый случай.
    3. Генерация XML-Excel-файла напрямую. Как известно, Excel поддерживает XML-формат сохранения документа, который потенциально можно сгенерировать/модифицировать с помощью любого средства работы с XML. Этот файл можно сохранить с расширением .xls, и хотя он, строго говоря, при этом не является xls-файлом, Excel его хорошо открывает. Такой подход довольно популярен, но к недостаткам следует отнести то, что всякое решение, основанное на прямом редактировании XML-Excel-формата, является одноразовым «хаком», лишенным общности.
    4. Наконец, возможна генерация Excel-файлов с использованием open source библиотек, из которых особо известна Apache POI. Разработчики Apache POI проделали титанический труд по reverse engineering бинарных форматов документов MS Office, и продолжают на протяжении многих лет поддерживать и развивать эту библиотеку. Результат этого reverse engineering-а, например, используется в Open Office для реализации сохранения документов в форматах, совместимых с MS Office.

    На мой взгляд, именно последний из способов является сейчас предпочтительным для генерации MS Office-совместимых документов. С одной стороны, он не требует установки никакого проприетарного ПО на сервер, а с другой стороны, предоставляет богатый API, позволяющий использовать все функциональные возможности MS Office.

    Но у прямого использования Apache POI есть и недостатки. Во-первых, это Java-библиотека, и если ваше приложение написано не на одном из JVM-языков, вы ей вряд ли сможете воспользоваться. Во-вторых, это низкоуровневая библиотека, работающая с такими понятиями, как «ячейка», «колонка», «шрифт». Поэтому «в лоб» написанная процедура генерации документа быстро превращается в обильную «лапшу» трудночитаемого кода, где отсутствует разделение на модель данных и представление, трудно вносить изменения и вообще — боль и стыд. И прекрасный повод делегировать задачу самому неопытному программисту – пусть ковыряется.

    Но всё может быть совершенно иначе. Проект Xylophone под лицензией LGPL, построенный на базе Apache POI, основан на идее, которая имеет примерно 15-летнюю историю. В проектах, где я участвовал, он использовался в комбинации с самыми разными платформами и языками – а счёт разновидностей форм, сделанных с его помощью в самых разнообразных проектах, идёт, наверное, уже на тысячи. Это Java-проект, который может работать как в качестве утилиты командной строки, так и в качестве библиотеки (если у вас код на JVM-языке — вы можете подключить её как Maven-зависимость).

    Xylophone реализует принцип отделения модели данных от их представления. В процедуре выгрузки необходимо сформировать данные в формате XML (не беспокоясь о ячейках, шрифтах и разделительных линиях), а Xylophone, при помощи Excel-шаблона и дескриптора, описывающего порядок обхода вашего XML-файла с данными, сформирует результат, как показано на диаграмме:

    Шаблон документа (xls/xlsx template) выглядит примерно следующим образом:

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

    Когда «оформительская» работа выполнена, разработчику остаётся

    1. Создать процедуру выгрузки необходимых данных в формате XML.
    2. Создать дескриптор, описывающий порядок обхода элементов XML-файла и копирования фрагментов шаблона в результирующий отчёт
    3. Обеспечить привязку ячеек шаблона к элементам XML-файла с помощью XPath-выражений.

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

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

    <element name="root">
        <output range="A1:Z100"/>
    </element>
    

    Здесь root – название корневого элемента нашего XML-файла с данными, а диапазон A1:Z100 – это прямоугольный диапазон ячеек из шаблона, который будет скопирован в результат. При этом, как можно видеть из предыдущей иллюстрации, подстановочные поля, значения которых заменяются на данные из XML-файла, имеют формат ~{XPath-выражение} (тильда, фигурная скобка, XPath-выражение относительно текущего элемента XML, закрывающая фигурная скобка).

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

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

    Есть и ещё один возможный вариант повторяющихся элементов: листы в книге Excel. Возможность организовать такую итерацию тоже имеется.

    Рассмотрим чуть более сложный пример. Допустим, нам надо получить сводный отчёт наподобие следующего:

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

    testdata.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <report>
    	<column year="2016"/>
    	<column year="2017"/>
    	<column year="2018"/>
    	<item name="Товар 1">
    		<year amount="365"/>
    		<year amount="286"/>
    		<year amount="207"/>
    	</item>
    	<item name="Товар 2">
    		<year amount="95"/>
    		<year amount="606"/>
    		<year amount="840"/>
    	</item>
    	<item name="Товар 3">
    		<year amount="710"/>
    		<year amount="437"/>
    		<year amount="100"/>
    	</item>
    	<totals>
    		<year amount="1170"/>
    		<year amount="1329"/>
    		<year amount="1147"/>		
    	</totals>
    </report>
    

    Мы вольны выбирать названия тэгов по своему вкусу, структура также может быть произвольной, но с оглядкой на простоту конвертации в отчёт. Например, выводимые на лист значения я обычно записываю в атрибуты, потому что это упрощает XPath-выражения (удобно, когда они имеют вид @имяатрибута).

    Шаблон такого отчёта будет выглядеть так (сравните XPath-выражения с именами атрибутов соответствующих тэгов):

    Теперь наступает самая интересная часть: создание дескриптора. Т. к. это практически полностью динамически собираемый отчёт, дескриптор довольно сложен, на практике (когда у нас есть только «шапка» документа, его строки и «подвал») всё обычно гораздо проще. Вот какой в данном случае необходим дескриптор:

    descriptor.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <element name="report">
    	<!-- Создаём лист -->
    	<output worksheet="Отчет" sourcesheet="Лист1"/>
    	<!-- И за ним слева направо заголовки столбцов -->
    	<iteration mode="horizontal">
    		<element name="(before)">
    			<!-- Выводим пустую ячейку в ЛВУ сводной таблицы -->
    			<output range="A1"/>
    		</element>
    		<element name="column">
    			<output range="B1"/>
    		</element>
    	</iteration>
    	<!-- Выводим строки: итерация с режимом вывода умолчанию, сверху вниз -->
    	<iteration mode="vertical">
    		<element name="item">
    			<!-- И по строке - слева направо -->
    			<iteration mode="horizontal">
    				<element name="(before)">
    					<!-- Заголовок строки -->
    					<output range="A2"/>
    				</element>
    				<!-- И за ним слева направо строку с данными -->
    				<element name="year">
    					<output range="B2"/>
    				</element>
    			</iteration>
    		</element>
    	</iteration>
    	<iteration>
    		<element name="totals">
    			<iteration mode="horizontal">
    				<element name="(before)">
    					<!-- Заголовок строки -->
    					<output range="A3"/>
    				</element>
    				<!-- И за ним слева направо строку с данными -->
    				<element name="year">
    					<output range="B3"/>
    				</element>
    			</iteration>
    		</element>
    	</iteration>
    </element>
    

    Полностью элементы дескриптора описаны в документации. Вкратце, основные элементы дескриптора означают следующее:

    • element — переход в режим чтения элемента XML-файла. Может или являться корневым элементом дескриптора, или находиться внутри iteration. С помощью атрибута name могут быть заданы разнообразные фильтры для элементов, например
      • name="foo" — элементы с именем тэга foo
      • name="*" — все элементы
      • name="tagname[@attribute='value']" — элементы с определённым именем и значением атрибута
      • name="(before)", name="(after)" — «виртуальные» элементы, предшествующие итерации и закрывающие итерацию.
    • iteration — переход в режим итерации. Может находиться только внутри element. Могут быть выставлены различные параметры, например
      • mode="horizontal" — режим вывода по горизонтали (по умолчанию — vertical)
      • index=0 — ограничить итерацию только самым первым встреченным элементом
    • output — переход в режим вывода. Основные атрибуты следующие:
      • sourcesheet —лист книги шаблона, с которого берётся диапазон вывода. Если не указывать, то применяется текущий (последний использованный) лист.
      • range – диапазон шаблона, копируемый в результирующий документ, например “A1:M10”, или “5:6”, или “C:C”. (Применение диапазонов строк типа “5:6” в режиме вывода horizontal и диапазонов столбцов типа “C:C” в режиме вывода vertical приведёт к ошибке).
      • worksheet – если определён, то в файле вывода создаётся новый лист и позиция вывода смещается в ячейку A1 этого листа. Значение этого атрибута, равное константе или XPath-выражению, подставляется в имя нового листа.

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

    Ну что же, настало время скачать Xylophone и запустить формирование отчёта.
    Возьмите архив с bintray или Maven Central (NB: на момент прочтения этой статьи возможно наличие более свежих версий). В папке /bin находится shell-скрипт, при запуске которого без параметров вы увидите подсказку о параметрах командной строки. Для получения результата нам надо «скормить» ксилофону все приготовленные ранее ингредиенты:

    xylophone -data testdata.xml -template template.xlsx -descr descriptor.xml -out report.xlsx
    

    Открываем файл report.xlsx и убеждаемся, что получилось именно то, что нам нужно:

    Так как библиотека ru.curs:xylophone доступна на Maven Central под лицензией LGPL, её можно без проблем использовать в программах на любом JVM-языке. Пожалуй, самый компактный полностью рабочий пример получается на языке Groovy, код в комментариях не нуждается:

    @Grab('ru.curs:xylophone:6.1.3')
    import ru.curs.xylophone.XML2Spreadsheet
    baseDir = '.'
    new File(baseDir, 'testdata.xml').withInputStream {
        input ->
            new File(baseDir, 'report.xlsx').withOutputStream {
                output ->
                    XML2Spreadsheet.process(input,
                            new File(baseDir, 'descriptor.xml'),
                            new File(baseDir, 'template.xlsx'),
                            false, output)
            }
    }
    println 'Done.'
    

    У класса XML2Spreadsheet есть несколько перегруженных вариантов статического метода process, но все они сводятся к передаче всё тех же «ингредиентов», необходимых для подготовки отчёта.

    Важная опция, о которой я до сих пор не упомянул — это возможность выбора между DOM и SAX парсерами на этапе разбора файла с XML-данными. Как известно, DOM-парсер загружает весь файл в память целиком, строит его объектное представление и даёт возможность обходить его содержимое произвольным образом (в том числе повторно возвращаясь в один и тот же элемент). SAX-парсер никогда не помещает файл с данными целиком в память, вместо этого обрабатывает его как «поток» элементов, не давая возможности вернуться к элементу повторно.

    Использование SAX-режима в Xylophone (через параметр командной строки -sax или установкой в true параметра useSax метода XML2Spreadsheet.process) бывает критически полезно в случаях, когда необходимо генерировать очень большие файлы. За счёт скорости и экономичности к ресурсам SAX-парсера скорость генерации файлов возрастает многократно. Это даётся ценой некоторых небольших ограничений на дескриптор (описано в документации), но в большинстве случаев отчёты удовлетворяют этим ограничениям, поэтому я бы рекомендовал использование SAX-режима везде, где это возможно.

    Надеюсь, что способ выгрузки в Excel через Xylophone вам понравился и сэкономит много времени и нервов — как сэкономил нам.

    И напоследок ещё раз ссылки:

    • исходники — здесь: github.com/CourseOrchestra/xylophone
    • документация — здесь: courseorchestra.github.io/xylophone
    • все примеры кода из этой статьи — здесь: github.com/inponomarev/xylophone-example.

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

    • Подготовка;
    • Конвертация.

    Видеоинструкция

    Как открыть файл XML в Excel

    Для того, чтобы в MS Excel потребуется первоначально включить данную функцию нажав на «Файл» в левом-верхнем углу экрана.

    Нажатие на кнопку файл в таблице Excel

    После открываем «Параметры».

    Переход в параметры в Эксель

    В открывшемся окне открываем «Настроить ленту» и ставим галочку у пункта «Разработчик».

    Включение главы Разработчик в Excel

    Все готово, теперь можно открывать файлы нужного формата.

    Как конвертировать XML в Эксель

    Выполнить эту задачу можно кликнуть на «Файл» в левом-верхнем углу.

    Нажатие на кнопку файл в таблице Excel

    Теперь выбираем «Открыть».

    Выбор файла XML с компьютера для открытия

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

    https://drive.google.com/drive/u/0/folders/1ODb0l3zDaPfcnvwcLdciIEZDODkcDlpj

    Выбор файла XML для конвертирования в Эксель

    Система выдаст предупреждение и нужно будет оставить основной пункт по умолчанию (XML-таблица).

    Открытие XML файла в Excel

    Таблица укажет, что будет создана схема, где нужно кликнуть на «Ок».

    Конвертация файла XML в Excel

    Готово, файл открыт.

    Открытый XML файл в Эксель

    Далее можно изменить его и снова преобразовать из Excel в XML.

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

    Понравилась статья? Поделить с друзьями:
  • Как загрузить фон в word
  • Как загрузить файл xml в excel
  • Как загрузить файл word на сайт
  • Как загрузить файл microsoft word
  • Как загрузить файл excel в документ 1с