Съпоставяне на XML елементи към клетки в XML карта

Отнася се за
Excel за Microsoft 365 Excel 2024 Excel 2021

За да импортирате и експортирате XML данни в Excel, използвайте XML карта, която свързва XML елементи с данни в клетки. Тази асоциация ви помага да получите желаните резултати. За да създадете XML карта, имате нужда от файл с XML схема (.xsd) и файл с XML данни (.xml). След като сте създали XML картата, можете да нанасяте XML елементи по желания от вас начин.

Съвет

За повече информация относно използването на XML с Excel вж. общ преглед на XML в Excel.

Забележка

Excel за настолната версия на Windows е единствената версия, която предлага функции за XML карти. Тези инструменти не са налични в Excel for Mac или Excel за уеб.

XML картите са наследена функция. За много сценарии използвайте Power Query в Excel, за да импортирате и трансформирате XML данни, особено за сложни или вложени XML структури.

Намиране или създаване на XML схема и XML файлове с данни

Ако друга база данни или приложение е създало XML схема или XML файл с данни, може вече да са налични. Например може да имате отраслово приложение, което експортира данните в тези XML файлови формати, търговски уеб сайт или уеб услуга, която предоставя тези XML файлове, или приложение по избор, разработено от вашия ИТ отдел, което автоматично създава тези XML файлове.

Ако нямате необходимите XML файлове, можете да ги създадете, като запишете данните, които искате да използвате, като текстов файл. След това можете да използвате както Access, така и Excel, за да конвертирате този текстов файл в нужните ви XML файлове. Ето как:

Access

  1. Импортирайте текстовия файл, който искате да конвертирате, и го свържете към нова таблица.

    1. Изберете "Отваряне на файл>".
    2. В диалоговия прозорец Отвори изберете и отворете базата данни, в която искате да създадете нова таблица.
    3. Изберете текстов файлс външни данни> и следвайте инструкциите за всяка стъпка, като се уверите, че свързвате таблицата с текстовия файл.
      Access създава новата таблица и я показва в навигационния екран.
  2. Експортирайте данните от свързаната таблица в XML файл с данни и файл с XML схема.

    1. Select external data>More>XML file ( in the Export group).
    2. В диалоговия прозорец "Експортиране – XML файл" задайте името и формата на файла и изберете OK.
  3. Излезте от Access.

Excel

  1. Създайте XML карта въз основа на файл с XML схема, който експортирахте от Access.
    Ако се появи диалоговият прозорец Множество корени, се уверете, че сте избрали dataroot, така че да можете да създадете XML таблица.
  2. Създайте XML таблица, като нанесете елемента dataroot. Вижте Нанасяне на XML елементи за повече информация.
  3. Импортирайте XML файла, който експортирахте от Access.

Като алтернатива можете да използвате Power Query, за да импортирате XML данни директно, без да създавате файл с XML схема.

Забележка

  • Има няколко типа конструкции на елементи с XML схема, които Excel не поддържа. Следните конструкции на елементи с XML схема не може да се импортират в Excel:
  • <any> Този елемент позволява да включите елементи, които не са обявени от схемата.
  • <anyAttribute> Този елемент позволява да включите атрибути, които не са обявени от схемата.
  • Повтарящи се структури Често срещан пример за рекурсивна структура е йерархията на служителите и ръководителите, в която едни и същи XML елементи се намират на няколко нива. Excel не поддържа повтарящи се структури с дълбочина повече от едно ниво.
  • Абстрактни елементи Тези елементи са предназначени да се обявят в схемата, но никога не се използват като елементи. Абстрактните елементи зависят от други елементи, които заменят абстрактния елемент.
  • Групи за смяна Тези групи позволяват на даден елемент да се смени, когато има препратка към друг елемент. Даден елемент показва, че е член на групата за смяна на друг елемент чрез атрибута SubstitutionGroup<>.
  • Смесено съдържание Това съдържание се обявява чрез използване на mixed="true" в дефиниция на комплексен тип. Excel не поддържа простото съдържание на комплексния тип, но поддържа дъщерните етикети и атрибути, определени в този комплексен тип.

Използване на XML схема и XML файлове с данни

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

  1. Изберете примерния текст на файла, който искате да копирате, и натиснете Ctrl+C.
  2. Стартирайте Notepad и натиснете Ctrl+V, за да поставите примерния текст.
  3. Натиснете Ctrl+S, за да запишете файла с името и разширението на примерните данни, които копирахте.
  4. Натиснете Ctrl+N в Notepad и повторете стъпки 1-3, за да създадете файл за втория примерен текст.
  5. Излезте от Notepad.

Примерни XML данни (Expenses.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 схема (Expenses.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).

  1. Изберете "Източникза разработчици>".
    XML команди в раздела
    Ако не виждате раздела Разработчик, вижте Показване на раздела "Разработчик".

  2. В прозореца на задачите "XML източник" изберете "XML карти" и след това изберете "Добави".

  3. В списъка " Търси в " изберете устройството, папката или интернет местоположението, съдържащо файла, който искате да отворите.

  4. Изберете файла и след това Отвори.

    • За файл с XML схема Excel създава XML карта на базата на XML схема. Ако се покаже диалоговият прозорец Множество корени, изберете един от възлите на корените, определен във файла с XML схема.
    • За XML файл с данни Excel опитва да определи XML схемата от XML данните, след което създава XML карта.
  5. Изберете OK.
    XML картата се показва в прозореца на задачите " XML източник ".

Нанасяне на XML елементи

Съпоставяне на XML елементи към клетки с едно назначение и повтарящи се клетки в XML таблици, за да можете да създадете отношение между клетката и XML елемента с данни в XML схемата.

  1. Изберете "Източникза разработчици>".
    XML команди в раздела
    Ако не виждате раздела Разработчик, вижте Показване на раздела "Разработчик".

  2. В прозореца на задачите XML източник изберете елементите, които искате да нанесете.
    За да изберете несъседни елементи, изберете един елемент и след това задръжте натиснат клавиша Ctrl и изберете всеки елемент, който искате да нанесете.

  3. За да нанесете елементи, изпълнете следните стъпки:

    1. Щракнете с десния бутон върху избраните елементи и изберете елемент на картата.

    2. В диалоговия прозорец за нанасяне на XML елементи изберете клетка и изберете OK.

      Съвет

      Също така можете да плъзнете избраните елементи в мястото на работния лист, където искате те да се показват.

      Всеки елемент се показва в получер тип в прозореца на задачите XML източник, за да укаже, че елементът е нанесен.

  4. Решете как искате да обработвате етикетите и заглавията на колоните:

    • Когато плъзнете неповтарящ се 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 източник " и изберете "Премахни елемента".

Показване на раздела "Разработчик"

Ако не виждате раздела "Разработчик ", изпълнете следните стъпки, за да го покажете:

  1. Избор наопции за файлове>.
  2. Изберете категорията "Персонализиране на лентата ".
  3. Под "Основни раздели" поставете отметка в квадратчето "Разработчик" и изберете OK.

Вж. също

Изтриване на XML карта на информация от работна книга

Добавяне или заместване на нанесени XML данни

Общ преглед на XML в Excel

Импортиране на XML данни

Експортиране на XML данни