Выборка из xml в excel

Обновлено: 30.06.2024

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Если появится диалоговое окно Открыть 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 не поддерживается.

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

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

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

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

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

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

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

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

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

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

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

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

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

В диалоговом окне Карты 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

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

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

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

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

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

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

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

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

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

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

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

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

  1. Наша таблица – производственный календарь.
  2. Создаем в любом текстовом редакторе (например, «Блокнот») желаемую карту XML структуры для генерации файла сохраним. В данном примере буде использовать следующую карту структуры:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Что имеем: есть несколько файлов в формате XML с данными примерно следующего вида:

<?xml version="1.0" encoding="windows-1251" ?> <Продажи> <Месяц номер="01"> <Дата>01.01.2013</Дата> <Менеджер>Иванов В.В</Менеджер> <Сумма>1849941.38</Сумма> </Месяц> <Месяц номер="02"> <Дата>01.02.2013</Дата> <Менеджер>Иванов В.В</Менеджер> <Сумма>1057377.21</Сумма> </Месяц> <Месяц номер="03"> <Дата>01.03.2013</Дата> <Менеджер>Иванов В.В</Менеджер> <Сумма>2041079.96</Сумма> </Месяц> <Месяц номер="04"> <Дата>01.04.2013</Дата> <Менеджер>Иванов В.В</Менеджер> <Сумма>1128102.22</Сумма> </Месяц> <Месяц номер="05"> <Дата>01.05.2013</Дата> <Менеджер>Иванов В.В</Менеджер> <Сумма>991735.68</Сумма> </Месяц> <Месяц номер="06"> <Дата>01.06.2013</Дата> <Менеджер>Иванов В.В</Менеджер> <Сумма>1502531.50</Сумма> </Месяц> <Месяц номер="07"> <Дата>01.07.2013</Дата> <Менеджер>Иванов В.В</Менеджер> <Сумма>1904990.78</Сумма> </Месяц> <Месяц номер="08"> <Дата>01.08.2013</Дата> <Менеджер>Иванов В.В</Менеджер> <Сумма>1370.86</Сумма> </Месяц> <Месяц номер="09"> <Дата>01.09.2013</Дата> <Менеджер>Иванов В.В</Менеджер> <Сумма>1670190.78</Сумма> </Месяц> <Месяц номер="10"> <Дата>01.10.2013</Дата> <Менеджер>Иванов В.В</Менеджер> <Сумма>1449435.21</Сумма> </Месяц> <Месяц номер="11"> <Дата>01.11.2013</Дата> <Менеджер>Иванов В.В</Менеджер> <Сумма>1456267.16</Сумма> </Месяц> <Месяц номер="12"> <Дата>01.12.2013</Дата> <Менеджер>Иванов В.В</Менеджер> <Сумма>1196971.27</Сумма> </Месяц> </Продажи>

Результат

И необходимо записать данные из этих файлов в плоскую таблицу вида:

Смена кодировки XML в Power Query

в этом случае необходимо в окне с ошибкой нажать Изменить (Edit) и в поле Источник файла (File origin) выбрать нужную кодировку и нажать Ок:

Сразу возникает вопрос: а какая кодировка нужная?
Здесь два варианта:

  1. можно открыть файл XML обычным блокнотом и обратить внимание на первую строку. Как правило она выглядит примерно так:
    <?xml version="1.0" encoding="windows-1251" ?>
    здесь нас интересует параметр encoding. То, что идет после него и есть кодировка файла. В данном случае это кодировка 1251 для Windows. Этого более чем достаточно для корректного получения содержимого.
  2. методом подбора. Т.е. поочередно пробовать в окне с ошибкой в поле Источник файла (File origin) выбирать различные кодировки(начать советую с кириллических) до тех пор, пока не появится окно с разбором содержимого.

Выбор таблицы XML в предпросмотре Power Query

После того, как нужная кодировка подобрана появится окно содержимого файла:

В нем необходимо указать нужную таблицу(в примере на картинке выше это таблица Месяц ). В окне правее будет отображено содержимое выбранной таблицы(если данных много - то несколько первых строк).
Если файл содержит более одной таблицы, то можно выбрать их все, предварительно установив флажок Несколько элементов и отметить нужные таблицы.
На этом основная работа по загрузке данных закончена. Если нажать Загрузить (Load) , то выбранные таблицы будут выгружены на лист книги Excel, из которой был вызван импорт данных. Если нажать Правка (Edit) , то будет открыт Редактор запросов , в котором можно будет сделать дополнительные преобразования данных: удалить лишние столбцы, заменить данные и т.п. Все зависит от ситуации.

Не использовать исходное имя столбца как префикс

  1. вкладка Добавить столбец (Add Column) -Пользовательский столбец (Custom Column)
  2. в появившемся окне указать имя столбца(я его назвал Данные XML ), а в поле Пользовательская формула столбца (Custom column formula) записать следующую формулу:
    =Xml.Tables([Content], null, 1251)
    где 1251 - кодировка файла XML(как определить кодировку написано выше)
    Нажать Ок, в конец таблицы будет добавлен новый столбец.
    По сути необязательно запоминать эту формулу. Если возникли проблемы получения данных из папки, то можно один раз получить данные из одного файла(выше в статье описано как это сделать) и в самом первом шаге запроса(как правило он называется Источник) скопировать строку получения данных. Останется только вставить её в качестве формулы в пользовательский столбец и вместо File.Contents("путь к файлу") вставить [Content]
  3. раскрываем данные созданного столбца при помощи значка с двумя развернутыми стрелками:
  4. Будет создан еще один столбец(Table), который так же надо будет раскрыть при помощи значка с двумя развернутыми стрелками. Здесь лучше будет заранее снять галку с пункта Использовать исходное имя столбца как префикс (Use original column name as prefix)

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

По сути нужного результата добились. Остальные действия - это различного рода преобразования данных. Для загрузки данных на лист результата необходимо перейти на вкладку Главная (Home) -Закрыть и загрузить (Close & Load) .
Если в папку будут добавлены/удалены файлы или информация в них будет изменена, то необходимо будет перейти на лист, на который выгружена результирующая таблица, выделить любую ячейку в ней, перейти на вкладку Запрос (Query) и нажать Обновить (Refresh) . Так же это можно сделать с вкладки Данные (Data) -Обновить все (Refresh all) . Но в этом случае будут обновлены все запросы и сводные таблицы, что не всегда нужно, особенно если запросов много.

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

Диаграмма XML

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

В этой статье

Причины использования XML в Excel

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

Данные XML и файлы схемы

Excel работает преимущественно с двумя типами XML-файлов:

файлами данных XML (XML), которые содержат настраиваемые теги и структурированные данные;

Файлы схемы (XSD), которые содержат теги схемы, в которых действуют правила, например тип данных и проверка.

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

Ключевые сценарии XML и Excel

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

Вот ключевые сценарии, для работы с которыми предназначены возможности XML:

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

использование данных XML в качестве входных данных для существующих моделей вычислений путем сопоставления XML-элементов с существующими листами;

импорт файлов данных XML в новую книгу;

импорт данных XML из веб-службы на лист Excel;

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

Основной процесс использования данных XML в Excel

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

добавление файла схемы XML (XSD) в книгу

сопоставление элементов схемы XML с отдельными ячейками или XML-таблицами

импорт файла данных XML (.xml) и привязку XML-элементов к ячейкам

ввода данных, перемещения соедини ячеек и Excel функциональных возможностей, сохранения структуры и определений XML

экспорт измененных данных из картографовых ячеек в файл данных XML

Работа с картами XML

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

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

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

Важно знать такие правила использования карт XML:

книга может содержать одну или несколько карт XML;

одновременно можно сопоставить только один элемент с одним расположением в книге;

каждая карта XML независима от других, даже если несколько карт XML в одной книге относятся к одной и той же схеме;

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

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

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

1. Отображение карт XML, добавленных в книгу.

2. Отображение иерархического списка XML-элементов в текущей карте XML.

3. Установка параметров при работе с областью задач Источник XML и данными XML (например, параметров, отвечающих за предварительный просмотр данных и управление заголовками).

4. Открытие диалогового окна Карты XML, которое служит для добавления, удаления или переименования карт XML.

5. Проверка возможности экспорта данных XML через текущую карту XML.

Типы элементов и их значки

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

Тип элемента

Обязательный родительский элемент

Повторяющийся родительский элемент

Обязательный повторяющийся родительский элемент

Обязательный дочерний элемент

Повторяющийся дочерний элемент

Обязательный повторяющийся дочерний элемент

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

Обязательное простое содержимое в сложной структуре

Работа с ячейками с точечным сопоставлением

Ячейка с точечным сопоставлением — это ячейка, сопоставленная с неповторяющимся XML-элементом. Такую ячейку вы можете создать, переместив неповторяющийся XML-элемент из области задач Источник XML в отдельную ячейку листа.

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

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

Работа с повторяющимися ячейками в XML-таблицах

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

XML-таблица создается в следующих случаях:

при использовании команды Импорт (в группе XML на вкладке Разработчик) для импорта файла данных XML;

Используйте команду Открыть из Excel, чтобы открыть файл данных XML, а затем выберите В качестве XML-таблицы в диалоговом окне Открыть XML.

при использовании команды Из импорта данных XML (кнопка команды Из других источников в группе Внешние данные на вкладке Данные) для импорта файла данных XML и дальнейшего выбора параметров XML-таблица на существующем листе или Новый лист в диалоговом окне Импорт данных;

при перетаскивании на лист одного или нескольких повторяющихся элементов из области задач Источник XML.

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

При работе с XML-таблицами полезны два параметра, доступные с помощью кнопки Параметры в области задач Источник XML.

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

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

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

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

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

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

Обеспечение безопасности карт XML

Карта XML и содержащиеся в ней сведения об источнике данных сохраняются в книге Excel, а не на определенном листе. Злоумышленник может просмотреть эти данные карты с помощью макроса VBA (Microsoft Visual Basic для приложений). Более того, если книга сохранена в файле Excel формата Open XML с поддержкой макросов, данные карты можно просмотреть с помощью Блокнота или другого текстового редактора.

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

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

Импорт данных XML

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

В диалоговом окне Свойства карты XML (на вкладке Разработчик в группе XML выберите пункт Свойства карты) расположены три параметра, используемые по умолчанию, с помощью которых вы можете управлять привязкой данных XML:

<c0>Проверять данные на соответствие схеме при импорте и экспорте</c0>. Указывает, следует ли Excel проверять данные по карте XML при импорте. Установите флажок, если нужно, чтобы импортируемые данные XML соответствовали схеме XML.

<c0>Заменять существующие данные новыми</c0>. Указывает, следует ли заменять данные при импорте. Установите флажок, если необходимо заменять текущие данные новыми (например, если в новом файле данных XML содержатся обновленные данные).

<c0>Добавлять новые данные в существующие XML-таблицы</c0>. Указывает, следует ли добавлять содержимое источника данных к существующим данным на листе. Используйте этот параметр, если, например, вам необходимо объединить данные из нескольких похожих файлов данных XML в одну XML-таблицу или вы не хотите, чтобы содержимое ячейки с функцией было перезаписано.

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

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

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

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

Работа с полученной схемой

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

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

Полученную схему Excel невозможно экспортировать как отдельный файл данных схемы XML (XSD). Несмотря на наличие редакторов схем XML и других методов создания файлов схем XML, они могут оказаться недоступными или неудобными в работе. Вместо них вы можете воспользоваться надстройкой Excel 2003 XML Tools 1.1, с помощью которой можно создавать файлы схемы на основе карты XML. Дополнительные сведения см. в Excel XML Tools версии 1.1.

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

Экспорт данных XML осуществляется путем экспорта содержимого сопоставленных ячеек листа. При экспорте данных в Excel применяются такие правила для определения данных и способов их сохранения:

пустые элементы не создаются при наличии пустых ячеек для дополнительного элемента, но они создаются при наличии пустых ячеек для обязательного элемента;

запись данных производится в кодировке UTF-8;

все пространства имен определяются в корневом XML-элементе;

Excel перезаписывать существующие префиксы пространства имен. По умолчанию области имен назначен префикс ns0. Последовательные пространства имен обозначаются ns1, ns2 для ns<>, где <count> — количество пространства имен, записанное в XML-файл.

узлы комментариев не сохраняются.

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

Использование файла Excel формата Office Open XML с поддержкой макросов

Книгу Excel можно сохранять в различных форматах файла, включая файлы Excel формата Office Open XML (XLSM) с поддержкой макросов. Excel содержит схему XML, определяющую содержимое книги Excel, в том числе теги XML, в которых хранятся все сведения книги (например, данные и свойства), а также всю структуру книги. Файл Excel формата Office XML с поддержкой макросов может применяться в пользовательских приложениях. Например, разработчики могут создать приложение, которое выполняет поиск данных в нескольких книгах, сохраненных в этом формате, и создает систему отчетов на основании полученных данных.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

Читайте также: