Om du vill importera och exportera XML-data i Excel använder du en XML-mappning som associerar XML-element med data i celler. Associationen hjälper dig att få de resultat du vill ha. För att skapa en XML-mappning behöver du en XML-schemafil (.xsd) och en XML-datafil (.xml). När du skapat XML-mappningen kan du mappa XML-element som du vill.
Tips
Mer information om hur du använder XML i Excel finns i översikten över XML i Excel.
- Leta reda på eller skapa XML-schema- och XML-datafiler
- Använda exempelfiler för XML-schema och XML-data
- Skapa en XML-mappning
- Mappa XML-element
Obs
Excel för Windows-skrivbordet är den enda versionen som har XML-mappningsfunktioner. Dessa verktyg är inte tillgängliga i Excel för Mac eller Excel för webben.
XML-mappningar är en gammal funktion. I många scenarier bör du använda Power Query i Excel för att importera och transformera XML-data, särskilt för komplexa eller kapslade XML-strukturer.
Leta reda på eller skapa XML-schema- och XML-datafiler
Om ett XML-schema eller en XML-datafil skapats av en annan databas eller ett annat program kanske du redan har dem. Du kanske har till exempel en branschspecifik programvara som exporterar data till XML-filformaten, en kommersiell webbplats eller webbtjänst som tillhandahåller XML-filerna eller egna program som utvecklats av din IT-avdelning som automatiskt skapar XML-filerna.
Om du inte har nödvändiga XML-filer kan du skapa dem genom att spara de data som du vill använda som en textfil. Sedan kan du använda både Access och Excel för att konvertera textfilen till de XML-filer du behöver. Så här gör du:
Access
Importera textfilen som du vill konvertera och koppla den till en ny tabell.
- Välj Arkiv>Öppna.
- I dialogrutan Öppna väljer och öppnar du databasen där du vill skapa en ny tabell.
- Välj Externdatatextfil> och följ anvisningarna för varje steg, se till att du länkar tabellen till textfilen.
Den nya tabellen skapas och visas i navigeringsfönstret i Access.
Exportera data från den länkade tabellen till en XML-datafil och en XML-schemafil.
- Markera Externa data>Mer>XML-fil (i gruppen Exportera ).
- I dialogrutan Exportera - XML-fil anger du filnamn och format och väljer OK.
Avsluta Access.
Excel
-
Skapa en XML-mappning baserad på den XML-schemafil som du exporterade från Access.
Om dialogrutan Flera rötter visas ska du välja dataroot för att kunna skapa en XML-tabell. - Skapa en XML-tabell genom att mappa elementet dataroot. Mer information finns i Mappa XML-element.
- Importera den XML-fil som du exporterade från Access.
Du kan också använda Power Query för att importera XML-data direkt utan att skapa en XML-schemafil.
Obs
- Det finns flera typer av XML-schemaelementkonstruktioner som inte stöds av Excel. Följande XML-schemaelementkonstruktioner kan inte importeras till Excel:
- <any> Med det här elementet kan du inkludera element som inte är deklarerade i schemat.
- <anyAttribute> Med det här elementet kan du inkludera attribut som inte är deklarerade i schemat.
- Rekursiva strukturer Ett vanligt exempel på en rekursiv struktur är en hierarki med anställda och chefer där samma XML-element har kapslats på flera nivåer. Excel stöder inte rekursiva strukturer djupare än en nivå.
- Abstrakta element De här elementen ska deklareras i schemat men får inte användas som element. Abstrakta element är beroende av att andra element används som ersättning för det abstrakta elementet.
- Substituerande grupper De här grupperna tillåter att ett element byts ut när ett annat element refereras till. Ett element anger att det är medlem i ett annat elements ersättningsgrupp via attributet< substitutionGroup>.
- Blandat innehåll Det här innehållet deklareras med mixed="true" i en komplex typdefinition. Excel stöder inte enkelt innehåll av den komplexa typen, men programmet stöder de underordnade taggarna och attributen som definieras i den komplexa typen.
Använda exempelfiler för XML-schema och XML-data
Följande exempeldata innehåller grundläggande XML-element och -strukturer som du kan använda för att testa XML-mappning om du inte har XML-filer eller textfiler för att skapa XML-filer. Så här sparar du dessa exempeldata till filer på din dator:
- Markera exempeltexten för den fil som du vill kopiera och tryck på Ctrl+C.
- Starta Anteckningar och tryck på Ctrl+V för att klistra in exempeltexten.
- Tryck på Ctrl+S för att spara filen med samma filnamn och tillägg som de exempeldata du kopierade.
- Tryck på Ctrl+N i Anteckningar och upprepa steg 1–3 för att skapa en fil för den andra exempeltexten.
- Stäng Anteckningar.
XML-exempeldata (Kostnader.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-exempelschema (Kostnader.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>
Skapa en XML-mappning
Skapa en XML-mappning genom att lägga till ett XML-schema i en arbetsbok. Du kan kopiera schemat från en XML-schemafil (.xsd) eller så kan Excel försöka utläsa ett från en XML-datafil (.xml).
Välj Källa för utvecklare>.
Om fliken Utvecklare inte visas ska du läsa Visa fliken Utvecklare.I åtgärdsfönstret XML-källa väljer du XML-mappningar och sedan Lägg till.
I listan Leta i väljer du den enhet, mapp eller Internetplats där filen du vill öppna finns.
Markera filen och välj sedan Öppna.
- För en XML-schemafil skapas en XML-mappning baserat på XML-schemat i Excel. Om dialogrutan Flera rötter visas väljer du en av rotnoderna som har definierats i XML-schemafilen.
- För en XML-datafil försöker Excel utläsa XML-schemat från XML-data och skapar sedan en XML-mappning.
Välj OK.
XML-mappningen visas i åtgärdsfönstret XML-källa .
Mappa XML-element
Mappa XML-element till enkelmappade celler och upprepande celler i XML-tabeller så att du kan skapa samband mellan cellen och XML-dataelementet i XML-schemat.
Välj Källa för utvecklare>.
Om fliken Utvecklare inte visas läser du Visa fliken Utvecklare.I åtgärdsfönstret XML-källa markerar du de element som du vill mappa.
Om du vill markera element som inte är placerade intill varandra markerar du ett element och håller sedan ned Ctrl och markerar de element som du vill mappa.Så här mappar du elementen:
Högerklicka på de markerade elementen och välj Mappa element.
Markera en cell i dialogrutan Mappa XML-element och välj OK.
Tips
Du kan också dra de markerade elementen till den önskade platsen i kalkylbladet.
De mappade elementen visas i fetstil i åtgärdsfönstret XML-källa.
Bestäm hur du vill hantera etiketter och kolumnrubriker:
När du drar ett icke upprepande XML-element till kalkylbladet för att skapa en enkelmappad cell, visas en smart etikett med tre kommandon som du kan använda när du ska styra placeringen av rubriken eller etiketten:
Det finns redan en rubrik för dessa data Välj det här alternativet om du inte vill använda XML-elementets rubrik eftersom cellen redan har en rubrik (till vänster om informationen eller ovanför informationen).
Placera XML-rubriken till vänster Välj det här alternativet om du vill använda XML-elementets rubrik som celletikett (till vänster om informationen).
Placera XML-rubriken ovanför Välj det här alternativet om du vill använda XML-elementets rubrik som cellrubrik (ovanför informationen).När du drar ett upprepande XML-element till kalkylbladet för att skapa upprepande celler i en XML-tabell används namnen på XML-elementen automatiskt som kolumnrubriker i tabellen. Du kan ändra kolumnrubrikerna till valfri rubrik genom att redigera cellen för kolumnrubriken.
I åtgärdsfönstret XML-källa väljer du Alternativ för att styra XML-tabellens beteende ytterligare:
Sammanfoga element automatiskt vid mappning Om du markerar den här kryssrutan utvidgas XML-tabellerna automatiskt när du drar ett element till en cell intill XML-tabellen.
Mina data innehåller rubriker Om du markerar den här kryssrutan kan befintliga data användas som kolumnrubriker när du mappar upprepande element till kalkylbladet.Obs
- Om alla XML-kommandon är nedtonade och det inte går att mappa XML-element till celler kan det hända att arbetsboken delas. Välj Granska>dela arbetsbok för att verifiera det och ta bort den från delad användning vid behov.
Om du vill mappa XML-element i en arbetsbok som du vill dela mappar du XML-elementen till önskade celler, importerar XML-data, tar bort alla XML-mappningar och delar sedan arbetsboken. > - Om du inte kan kopiera en XML-tabell som innehåller data till en annan arbetsbok kan XML-tabellen ha en associerad XML-mappning som definierar datastrukturen. Den här XML-mappningen lagras i arbetsboken, men när du kopierar XML-tabellen till en ny arbetsbok inkluderas inte XML-mappningen automatiskt. I stället för att kopiera XML-tabellen skapar Excel en tabell som innehåller samma data. Följ de här stegen om du vill att den nya tabellen ska vara en XML-tabell: > 1. Lägg till en XML-mappning i den nya arbetsboken med hjälp av den .xml- eller .xsd-fil som du använde för att skapa den ursprungliga XML-mappningen. Spara de här filerna om du vill lägga till XML-mappningar i andra arbetsböcker. > 1. Mappa XML-elementen till tabellen om du vill skapa en XML-tabell. > > - När du mappar ett upprepande XML-element till en sammanfogad cell separerar Excel cellen. Det här är inget konstigt eftersom upprepande element är utformade att endast fungera med separerade celler.
Du kan mappa enskilda, ej upprepande XML-element till en sammanfogad cell, men det är inte tillåtet att mappa ett upprepande XML-element (eller ett element som innehåller ett upprepande element) till en sammanfogad cell. Cellen separeras och elementet mappas till den cell där muspekaren är placerad.
Tips
- Du kan ångra mappning av XML-element som du inte vill använda eller förhindra att innehållet i celler skrivas över när du importerar XML-data. Du kan till exempel tillfälligt ångra mappningen av ett XML-element från en enda cell eller upprepande celler som innehåller formler som du inte vill skriva över när du importerar en XML-fil. När importen är slutförd kan du mappa XML-elementet till formelcellerna igen så att du kan exportera resultaten av formlerna till XML-datafilen.
- Om du vill ångra mappningen av XML-element högerklickar du på namnet i åtgärdsfönstret XML-källa och väljer Ta bort element.
Visa fliken Utvecklare
Om du inte ser fliken Utvecklare gör du så här för att visa den:
- Välj Filalternativ>.
- Välj kategorin Anpassa menyfliksområdet .
- Markera rutan Utvecklare under Primära flikar och välj OK.
Se även
Ta bort XML-mappningsinformation från en arbetsbok