Для импорта и экспорта данных XML в Excel используйте карту XML, которая связывает элементы XML с данными в ячейках. Эта связь помогает получить желаемые результаты. Чтобы создать XML-схему, вам нужен файл схемы XML (.xsd) и файл данных XML (.xml). После создания карты XML вы можете сопоставить элементы XML нужным образом.
Совет
Дополнительные сведения об использовании XML в Excel см. в статье Общие сведения о XML в Excel.
- Поиск или создание файлов схемы XML и данных XML
- Использование образцов файлов схемы XML и данных XML
- Создание карты XML
- Сопоставление XML-элементов
Примечание
Excel для компьютеров с Windows — единственная версия, которая предлагает функции сопоставления XML. Эти инструменты недоступны в Excel для Mac или Excel для Интернета.
XML-карты являются устаревшей функцией. Во многих сценариях используйте Power Query в Excel для импорта и преобразования данных XML, особенно для сложных или вложенных XML-структур.
Поиск или создание файлов схемы XML и данных XML
Файлы схемы XML и данных XML уже могут быть доступны, если они были созданы другой базой данных или приложением. Например, у вас могут быть бизнес-приложение, которое экспортирует данные в эти форматы XML-файлов, коммерческий веб-сайт или веб-служба, которые поставляют такие XML-файлы, или пользовательское приложение, разработанное в вашем ИТ-отделе, которое автоматически создает такие XML-файлы.
Если у вас нет нужных XML-файлов, вы можете создать их, сохранив нужные данные в виде текстового файла. Затем с помощью Access и Excel этот текстовый файл можно преобразовать в нужные XML-файлы. Вот как это сделать.
Access
Импортируйте текстовый файл, который требуется преобразовать, и свяжите его с новой таблицей.
- Выберите "Открыть файл>".
- В диалоговом окне Открытие найдите и откройте базу данных, в которой требуется создать новую таблицу.
-
Выберите "Текстовый файлвнешних данных>" и следуйте инструкциям, чтобы убедиться, что таблица связана с текстовым файлом.
Access создает новую таблицу, имя которой отображается в области навигации.
Экспортируйте данные из связанной таблицы в файл XML-данных и файл схемы XML.
- Выберите Внешние данные>Больше>XML-файла (в группе Экспорт).
- В диалоговом окне "Экспорт - Файл XML" укажите имя и формат файла, а затем нажмите кнопку "ОК".
Выйдите из Access.
Excel
-
Создайте карту XML на основе файла схемы XML, экспортированного из Access.
Если открывается диалоговое окно Несколько корней, выберите элемент dataroot, чтобы создать XML-таблицу. - Создайте XML-таблицу, сопоставив элемент dataroot. Дополнительные сведения см. в разделе Сопоставление XML-элементов.
- Импортируйте XML-файл, экспортированный из Access.
Кроме того, вы можете использовать Power Query для импорта данных XML напрямую без создания файла схемы XML.
Примечание
- В Excel не поддерживаются некоторые типы конструкций элементов схем XML. Ниже перечислены конструкции элементов схем XML, которые невозможно импортировать в Excel.
- <любой> Этот элемент позволяет включать элементы, не объявленные схемой.
- <anyAttribute> Этот элемент позволяет включать атрибуты, не объявленные схемой.
- Рекурсивные структуры Типичным примером рекурсивной структуры является иерархия сотрудников и менеджеров, в которой одни и те же элементы XML вложены в несколько уровней. В Excel не поддерживаются рекурсивные структуры глубиной более одного уровня.
- Абстрактные элементы Эти элементы предназначены для объявления в схеме, но никогда не используются в качестве элементов. Абстрактные элементы зависят от других элементов, которыми они заменяются.
- Группы подстановки Эти группы позволяют заменять один элемент везде, где есть ссылка на другой элемент. Элемент указывает, что он является членом группы подстановки другого элемента с помощью атрибута <substitutionGroup> .
- Смешанный контент Это содержимое объявляется с помощью mixed="true" в определении сложного типа. Excel не поддерживает простое содержимое сложного типа, но поддерживает дочерние теги и атрибуты, определенные в этом сложном типе.
Использование образцов файлов схемы XML и данных XML
Следующий образец данных включает основные элементы и структуры XML, которые можно использовать для тестирования отображения XML, если у вас нет XML-файлов или текстовых файлов для создания XML-файлов. Вот как можно сохранить этот пример данных в файлах на компьютере:
- Выделите текст примера файла, который требуется скопировать, и нажмите клавиши CTRL+C.
- Запустите Блокнот и нажмите клавиши CTRL+V, чтобы вставить текст примера.
- Нажмите клавиши CTRL+S, чтобы сохранить файл с именем и расширением, указанными для скопированного образца данных.
- Нажмите Ctrl+N в Блокноте и повторите шаги 1–3, чтобы создать файл для второго образца текста.
- Выйдите из Блокнота.
Образец данных XML (Расходы.xml)
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Root>
<EmployeeInfo>
<Name>Jane Winston</Name>
<Date>2001-01-01</Date>
<Code>0001</Code>
</EmployeeInfo>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Airfare</Description>
<Amount>500.34</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Hotel</Description>
<Amount>200</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Taxi Fare</Description>
<Amount>100.00</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Long Distance Phone Charges</Description>
<Amount>57.89</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Food</Description>
<Amount>82.19</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-02</Date>
<Description>Food</Description>
<Amount>17.89</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-02</Date>
<Description>Personal Items</Description>
<Amount>32.54</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-03</Date>
<Description>Taxi Fare</Description>
<Amount>75.00</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-03</Date>
<Description>Food</Description>
<Amount>36.45</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-03</Date>
<Description>New Suit</Description>
<Amount>750.00</Amount>
</ExpenseItem>
</Root>
Образец схемы XML (Расходы.xsd)
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="Root">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="EmployeeInfo">
<xsd:complexType>
<xsd:all>
<xsd:element minOccurs="0" maxOccurs="1" name="Name" />
<xsd:element minOccurs="0" maxOccurs="1" name="Date" />
<xsd:element minOccurs="0" maxOccurs="1" name="Code" />
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:element minOccurs="0" maxOccurs="unbounded" name="ExpenseItem">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Date" type="xsd:date"/>
<xsd:element name="Description" type="xsd:string"/>
<xsd:element name="Amount" type="xsd:decimal" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Создание XML-карты
Создайте XML-схему, добавив XML-схему в книгу. Вы можете скопировать схему из файла схемы XML (.xsd) или Excel может попытаться получить схему из файла данных XML (.xml).
Выберите Developer>Source.
Если вкладка Разработчик не отображается, см. раздел Отображение вкладки "Разработчик".В области задач "Источник XML " выберите "Сопоставления XML", а затем нажмите кнопку "Добавить".
В списке "Получать " выберите диск, папку или интернет-папку, содержащую файл, который требуется открыть.
Выберите файл, а затем нажмите кнопку "Открыть".
- Для файла схемы XML приложение Excel создает карту XML на основе схемы XML. Если откроется диалоговое окно Несколько корней, выберите один из корневых узлов, определенных в файле схемы XML.
- Для файла данных XML приложение Excel пытается вывести схему XML из данных XML, а затем создает XML-сопоставление.
Нажмите кнопку ОК.
Схема XML отображается в области задач "Источник XML ".
Сопоставление XML-элементов
Сопоставьте элементы XML с ячейками с одним отображением и повторяющимися ячейками в таблицах XML, чтобы можно было создать связь между ячейкой и элементом данных XML в схеме XML.
Выберите Developer>Source.
Если вкладка Разработчик не отображается, см. раздел Отображение вкладки "Разработчик".В области задач Источник XML выделите элементы, которые требуется сопоставить.
Чтобы выделить несмежные элементы, выделите один элемент, а затем, удерживая нажатой клавишу CTRL, выделите каждый элемент, который нужно сопоставить.Чтобы сопоставить элементы, выполните следующие действия.
Щелкните выбранные элементы правой кнопкой мыши и выберите элемент карты.
В диалоговом окне "Элементы XML сопоставления" выберите ячейку и нажмите кнопку "ОК".
Совет
Вы также можете перетащить выделенные элементы в то место книги, где они должны отображаться.
Каждый такой элемент будет выделен в области задач XML-источник полужирным шрифтом. Это означает, что данный элемент сопоставлен.
Выберите, как должны обрабатываться подписи данных и заголовки столбцов.
При перетаскивании в книгу неповторяющегося XML-элемента для создания отдельно сопоставленной ячейки отображается смарт-тег с тремя командами, которые позволяют управлять расположением заголовка или подписи.
У моих данных уже есть заголовок Если этот флажок установлен, то заголовок элемента XML не будет отображаться, так как ячейка уже содержит заголовок (слева от данных или над ними).
Поместите заголовок XML влево Если этот флажок установлен, в качестве заголовка ячейки (слева от данных) будет использоваться заголовок элемента XML.
Поместить заголовок XML вверху Если этот флажок установлен, в качестве заголовка ячейки (над данными) будет использоваться заголовок элемента XML.При перетаскивании в книгу повторяющегося XML-элемента для создания повторяющихся ячеек в XML-таблице имена XML-элементов автоматически используются в качестве заголовков столбцов этой таблицы. Но эти заголовки столбцов можно изменить на любые другие, редактируя ячейки заголовка столбца.
В области задач "Источник XML " выберите "Параметры " для дальнейшего управления поведением таблицы XML:
Автоматическое объединение элементов при сопоставлении Если этот флажок проверка установлен, Excel автоматически расширяет таблицы XML при перетаскивании элемента в ячейку, смежную с таблицей XML.
Данные с заголовками. Если этот флажок установлен, существующие данные могут использоваться как заголовки столбцов при сопоставлении повторяющихся элементов листу.Примечание
- Если все команды XML затенены и XML-элементы не удается сопоставить с ячейками, возможно, к книге предоставлен общий доступ. Выберите "Рецензирование>,предоставление общего доступа к книге", чтобы проверить это и при необходимости удалить ее из общего использования.
Вот как можно сопоставить XML-элементы в книге, которой вы хотите поделиться с другими пользователями: сначала сопоставьте XML-элементы с нужными ячейками, импортируйте данные XML, удалите все карты XML, а затем предоставьте общий доступ к книге. > - Если вы не можете скопировать таблицу XML, содержащую данные, в другую книгу, возможно, таблица XML имеет связанную с ней карту XML, определяющую структуру данных. Такая карта XML хранится в книге, но при копировании XML-таблицы в новую книгу карта XML не копируется автоматически. Вместо копирования XML-таблицы Excel создает таблицу Excel с такими же данными. Если вы хотите, чтобы новая таблица была таблицей XML, выполните следующие действия: > 1. Добавьте карту XML в новую книгу с помощью XML- или XSD-файла, который использовался при создании исходной карты XML. Эти файлы следует хранить, если вы планируете добавлять карты XML в другие книги. > 1. Сопоставьте эти XML-элементы таблице, чтобы сделать ее XML-таблицей. > > - Если сопоставить повторяющийся элемент XML с объединенной ячейкой, Excel отменит объединение ячейки. Это ожидаемое поведение, так как повторяющиеся элементы предназначены только для работы с ячейками, которые не объединены.
С объединенной ячейкой можно сопоставлять отдельные, неповторяющиеся XML-элементы, но сопоставление с такими ячейками повторяющихся XML-элементов (или элементов, содержащих повторяющиеся элементы) не допускается. Объединение будет отменено, и элемент будет сопоставлен с ячейкой, в которой находится указатель.
Совет
- Можно отменить сопоставление элементов XML, которые вы не хотите использовать, или предотвратить перезапись содержимого ячеек при импорте XML-данных. Например, можно временно отменить сопоставление XML-элемента с одной ячейкой или с повторяющимися ячейками, содержащими формулы, которые не должны быть перезаписаны при импорте XML-файла. После завершения импорта можно снова сопоставить элемент XML с ячейками формул, чтобы экспортировать результаты формул в файл данных XML.
- Чтобы отменить сопоставление элементов XML, щелкните их имена правой кнопкой мыши в области задач "Источник XML " и выберите команду "Удалить элемент".
Отображение вкладки "Разработчик"
Если вы не видите вкладку "Разработчик ", выполните указанные ниже действия, чтобы отобразить ее.
- Выберите "Параметрыфайла>".
- Выберите категорию "Настроить ленту ".
- В разделе "Главная" на вкладке "Главная" проведите проверку поля "Разработчик" и нажмите кнопку "ОК".
См. также
Удаление сведений XML-карты из книги