Mapowanie elementów XML na komórki w mapie XML

Dotyczy
Excel dla Microsoft 365 Excel 2024 Excel 2021

Aby zaimportować i wyeksportować dane XML w programie Excel, użyj mapy XML, która kojarzy elementy XML z danymi w komórkach. To skojarzenie ułatwia uzyskanie pożądanych wyników. Do utworzenia mapy XML potrzebny jest plik schematu XML (xsd) i plik danych XML (.xml). Po utworzeniu mapy XML możesz mapować elementy XML tak, jak zechcesz.

Porada

Aby uzyskać więcej informacji o używaniu języka XML w programie Excel, zobacz omówienie języka XML w programie Excel.

Uwaga

Program Excel dla komputerów stacjonarnych z systemem Windows to jedyna wersja, która oferuje funkcje mapowania XML. Te narzędzia nie są dostępne w programie Excel dla komputer Mac ani w programie Excel dla sieci Web.

Mapy XML to starsza funkcja. W wielu scenariuszach importowanie i przekształcanie danych XML, zwłaszcza w przypadku złożonych lub zagnieżdżonych struktur XML, należy używać dodatku Power Query w programie Excel.

Lokalizowanie lub tworzenie schematu XML i plików danych XML

Jeśli inna baza danych lub aplikacja utworzyła już schemat XML albo plik danych XML, możesz z niego skorzystać. Możesz mieć na przykład aplikację LOB, która eksportuje dane do plików XML w tych formatach, komercyjną witrynę lub usługę internetową, która dostarcza takie pliki XML, albo niestandardową aplikację opracowaną przez Twój dział informatyczny, która automatycznie tworzy takie pliki.

Jeśli nie masz niezbędnych plików XML, możesz je utworzyć, zapisując dane, których chcesz użyć, jako plik tekstowy. Następnie możesz przekonwertować ten plik tekstowy na wymagane pliki XML za pomocą programów Access i Excel. W tym celu wykonaj następujące czynności:

Access

  1. Zaimportuj plik tekstowy, który chcesz przekonwertować, i połącz go z nową tabelą.

    1. Wybierz pozycję Otwórz plik>.
    2. W oknie dialogowym Otwieranie wybierz i otwórz plik bazy danych, w którym chcesz utworzyć nową tabelę.
    3. Wybierz pozycjęPlik tekstowydanych> zewnętrznych i postępuj zgodnie z instrukcjami dla każdej kolejnej czynności, upewniając się, że połączono tabelę z plikiem tekstowym.
      Program Access utworzy nową tabelę i wyświetli ją w okienku nawigacji.
  2. Wyeksportuj dane z tabeli połączonej do pliku danych XML i pliku schematu XML.

    1. Wybieranie pozycji Dane zewnętrzne>— więcej>pliku XML (w grupie Eksportowanie ).
    2. W oknie dialogowym Eksportowanie — plik XML określ format i nazwę pliku, a następnie wybierz przycisk OK.
  3. Zamknij program Access.

Excel

  1. Utwórz mapę XML na podstawie pliku schematu XML wyeksportowanego z programu Access.
    Jeśli zostanie wyświetlone okno dialogowe Wiele węzłów głównych, upewnij się, że wybierasz opcję węzeł główny danych — tylko wtedy będzie można utworzyć tabelę XML.
  2. Utwórz tabelę XML, mapując element węzeł główny danych. Zobacz Mapowanie elementów XML, aby uzyskać więcej informacji.
  3. Zaimportuj plik XML wyeksportowany z programu Access.

Można także użyć dodatku Power Query w celu bezpośredniego zaimportowania danych XML bez tworzenia pliku schematu XML.

Uwaga

  • Istnieje kilka typów konstrukcji elementów schematu XML, których program Excel nie obsługuje. Oto lista konstrukcji elementów schematu XML, których nie można zaimportować do programu Excel:
  • <dowolny> Ten element umożliwia dołączanie elementów niezadeklarowanych w schemacie.
  • <anyAttribute> Ten element umożliwia dołączanie atrybutów, które nie są zadeklarowane w schemacie.
  • Struktury rekurencyjne Typowym przykładem struktury rekurencyjnej jest hierarchia pracowników i kierowników, w której występuje kilka poziomów zagnieżdżenia tych samych elementów XML. Program Excel nie obsługuje struktur rekurencyjnych o głębokości większej niż jeden poziom.
  • Elementy abstrakcyjne Te elementy są deklarowane w schemacie, ale nie mogą być używane jako elementy. Elementy abstrakcyjne są zależne od innych elementów podstawianych zamiast nich.
  • Grupy podstawiania Te grupy umożliwiają zamianę elementu niezależnie od miejsca odwołania innego elementu. Element wskazuje, że jest członkiem grupy podstawiania innego elementu poprzez <atrybut substitutionGroup> .
  • Zawartość mieszana Tę zawartość deklaruje się przy użyciu ustawienia mixed="true" w definicji typu złożonego. Program Excel nie obsługuje prostej zawartości typu złożonego, ale obsługuje tagi podrzędne i atrybuty zdefiniowane w tym typie złożonym.

Używanie przykładowego schematu XML i plików danych XML

Jeśli nie masz plików XML lub plików tekstowych, z których można utworzyć pliki XML, możesz przetestować działanie mapowania elementów XML za pomocą poniższych przykładowych danych zawierających podstawowe elementy i struktury XML. Oto, jak możesz zapisać te przykładowe dane jako pliki na swoim komputerze:

  1. Zaznacz przykładowy tekst pliku, który chcesz skopiować, a następnie naciśnij klawisze Ctrl+C.
  2. Uruchom program Notatnik i naciśnij klawisze Ctrl+V, aby wkleić ten przykładowy tekst.
  3. Naciśnij klawisze Ctrl+S, aby zapisać plik z nazwą pliku i rozszerzeniem zgodnym ze skopiowanymi danymi przykładowymi.
  4. Naciśnij klawisze Ctrl+N w programie Notatnik, a następnie powtórz kroki 1–3, aby utworzyć plik dla drugiego przykładowego tekstu.
  5. Zamknij Notatnik.

Przykładowe dane XML (Wydatki.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>

Przykładowy schemat XML (Wydatki.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>

Tworzenie mapy XML

Utwórz mapę XML, dodając schemat XML do skoroszytu. Schemat można skopiować z pliku schematu XML (xsd) lub program Excel może spróbować wywnioskować schemat na podstawie pliku danych XML (.xml).

  1. Wybierzźródłodeweloperskie>.
    Polecenia XML na karcie Deweloper
    Jeśli nie widzisz karty Deweloper, zobacz Wyświetlanie karty Deweloper.

  2. W okienku zadań Źródło XML wybierz pozycję Mapy XML, a następnie wybierz przycisk Dodaj.

  3. Z listy Szukaj w wybierz dysk, folder lub lokalizację internetową zawierającą plik, który chcesz otworzyć.

  4. Wybierz plik, a następnie wybierz pozycję Otwórz.

    • W przypadku pliku schematu XML program Excel tworzy mapę XML na podstawie tego schematu. Jeśli zostanie wyświetlone okno dialogowe Wiele węzłów głównych, wybierz jeden z węzłów głównych zdefiniowanych w pliku schematu XML.
    • W przypadku pliku danych XML program Excel próbuje ustalić schemat XML na podstawie tych danych, a następnie tworzy mapę XML.
  5. Wybierz przycisk OK.
    Mapa XML zostanie wyświetlona w okienku zadań Źródło XML .

Mapowanie elementów XML

Zamapuj elementy XML na komórki zamapowane jednokrotnie i komórki powtarzające się w tabelach XML, aby można było utworzyć relację między komórką i elementem danych XML w schemacie XML.

  1. Wybierzźródłodeweloperskie>.
    Polecenia XML na karcie Deweloper
    Jeśli nie widzisz karty Deweloper, zobacz Wyświetlanie karty Deweloper.

  2. W okienku zadań Źródło XML wybierz elementy, które chcesz zamapować.
    Aby zaznaczyć elementy niesąsiadujące, zaznacz jeden element, a następnie przytrzymaj naciśnięty klawisz Ctrl i zaznacz każdy element, który chcesz zamapować.

  3. Aby zamapować elementy, wykonaj następujące kroki:

    1. Kliknij prawym przyciskiem myszy zaznaczone elementy i wybierz polecenie Mapuj element.

    2. W oknie dialogowym Mapowanie elementów XML zaznacz komórkę i wybierz przycisk OK.

      Porada

      Zaznaczone elementy można też przeciągnąć do lokalizacji w arkuszu, w której mają się pojawić.

      Każdy element zostanie wyświetlony w okienku zadań Źródło XML przy użyciu pogrubionej czcionki, która wskazuje, że element jest zamapowany.

  4. Określ sposób obsługi etykiet i nagłówków kolumn:

    • Gdy przeciągniesz niepowtarzający się element XML do arkusza w celu utworzenia komórki zamapowanej jednokrotnie, zostanie wyświetlony tag inteligentny z trzema poleceniami, za pomocą których można kontrolować położenie nagłówka lub etykiety:
      Moje dane mają już nagłówek Zaznacz tę opcję, aby zignorować nagłówek elementu XML, ponieważ komórka ma już nagłówek (po lewej stronie danych lub nad nimi).
      Umieść nagłówek XML po lewej stronie Zaznacz tę opcję, aby używać nagłówka elementu XML jako etykiety komórki (po lewej stronie danych).
      Umieść nagłówek XML u góry Zaznacz tę opcję, aby użyć nagłówka elementu XML jako nagłówka komórki (nad danymi).

    • Gdy przeciągniesz powtarzający się element XML do arkusza w celu utworzenia komórek powtarzających się w tabeli XML, nazwy elementów XML zostaną automatycznie użyte jako nagłówki kolumn tabeli. Można jednak zmienić te nagłówki kolumn na dowolne inne nagłówki, edytując komórki nagłówków kolumn.
      Aby dokładniej kontrolować zachowanie tabeli XML, w okienku zadań Źródło XML wybierz pozycję Opcje :
      Automatycznie scal elementy podczas mapowania Po zaznaczeniu tego pola wyboru program Excel automatycznie rozszerza tabele XML podczas przeciągania elementu do komórki sąsiadującej z tabelą XML.
      Dane z nagłówkami Po zaznaczeniu tego pola wyboru można używać istniejących danych jako nagłówków kolumn podczas mapowania powtarzających się elementów na arkusz.

      Uwaga

      • Jeśli wszystkie polecenia XML są wygaszone i nie możesz zamapować elementów XML na żadne komórki, być może skoroszyt jest udostępniany. Wybierz pozycję Przejrzyj>skoroszyt udostępniania , aby to sprawdzić i w razie potrzeby wyłączyć jego udostępnianie.

Jeśli chcesz zamapować elementy XML w skoroszycie, który ma być udostępniany, zamapuj elementy XML na wybrane komórki, zaimportuj dane XML, usuń wszystkie mapy XML i udostępnij skoroszyt. > - Jeśli nie możesz skopiować tabeli XML, która zawiera dane, do innego skoroszytu, być może z tabelą XML jest skojarzona mapa XML definiująca strukturę danych. Mapa XML jest przechowywana w skoroszycie, ale podczas kopiowania tabeli XML do nowego skoroszytu mapa nie jest uwzględniana automatycznie. Zamiast skopiować tabelę XML, program Excel tworzy tabelę programu Excel, która zawiera te same dane. Jeśli chcesz, aby nowa tabela była tabelą XML, wykonaj następujące czynności: > 1. Dodaj mapę XML do nowego skoroszytu, używając pliku xml lub xsd, za pomocą którego została utworzona oryginalna mapa XML. Aby móc dodawać mapy XML do innych skoroszytów, należy zapisać te pliki. > 1. Zamapuj elementy XML na tabelę, tak aby stała się tabelą XML. > > - Podczas mapowania powtarzającego się elementu XML na scaloną komórkę program Excel rozdziela komórkę. Jest to oczekiwane zachowanie, ponieważ elementy powtarzające się z założenia działają tylko z komórkami rozdzielonymi.

Możesz zamapować pojedyncze, niepowtarzające się elementy na scalone komórki, ale mapowanie powtarzających się elementów XML (lub elementów zawierających elementy powtarzające się) na scalone komórki nie jest obsługiwane. Komórka zostanie rozdzielona, a element zostanie zamapowany na komórkę, w której znajduje się wskaźnik.

Porada

  • Jeśli nie chcesz używać jakiegoś elementu XML lub chcesz zapobiec zastąpieniu zawartości komórki podczas importowania danych XML, możesz usunąć mapowanie elementów XML. Możesz na przykład tymczasowo usunąć mapowanie elementu XML na pojedynczą komórkę lub na komórki powtarzające się, jeśli te komórki zawierają formuły, których nie chcesz zastępować podczas importowania pliku XML. Po zakończeniu importowania możesz ponownie zamapować element XML na komórki z formułami, aby wyniki formuł mogły być wyeksportowane do pliku danych XML.
  • Aby usunąć mapowanie elementów XML, kliknij prawym przyciskiem myszy ich nazwę w okienku zadań Źródło XML , a następnie wybierz polecenie Usuń element.

Wyświetlanie karty Deweloper

Jeśli karta Deweloper nie jest widoczna, wykonaj następujące czynności, aby ją wyświetlić:

  1. Wybierzpozycję Opcjepliku>.
  2. Wybierz kategorię Dostosowywanie Wstążki .
  3. W obszarze Karty główne zaznacz pole wyboru Deweloper, a następnie wybierz przycisk OK.

Zobacz też

Usuwanie informacji mapy XML ze skoroszytu

Dołączanie lub zastępowanie zamapowanych danych XML

Omówienie języka XML w programie Excel

Importowanie danych XML

Eksportowanie danych XML