Hvis du vil importere og eksportere XML-data i Excel, vil det være nyttig med en XML-tilordning som knytter XML-elementer med data i celler for å få de resultatene du ønsker. For å opprette en må du opprette en XML-skjemafil ( XSD) og en XML-datafil (XML). Etter at du har opprettet XML-tilordningen, kan du tilordne XML-elementer slik du ønsker.
Tips!: Du finner mer informasjon om hvordan du bruker XML med Excel i oversikt over XML i Excel.
Finne eller opprette XML-skjema- og XML-datafiler
Hvis en annen database eller et annet program opprettet et XML-skjema eller en XML-datafil, er de kanskje allerede tilgjengelige. Eksempelvis kan et bransjeprogram brukes til å eksportere data til disse XML-formatene, et kommersielt nettsted eller en kommersiell nettjeneste kan inkludere disse XML-filene, eller et egendefinert program som er utviklet av IT-avdelingen, kan brukes til å automatisk opprette disse XML-filene.
Hvis du ikke har de nødvendige XML-filene, kan du opprette dem ved å lagre dataene du vil bruke som en tekstfil. Deretter kan du bruke både Access og Excel til å konvertere denne tekstfilen til XML-filene du trenger. Slik gjør du det:
Access
-
Importer tekstfilen du vil konvertere, og koble den til en ny tabell.
-
Klikk Fil > Åpne.
-
Merk og åpne databasen der du vil opprette en ny tabell, i dialogboksen Åpne.
-
Klikk Eksterne data > Tekstfil, og følg instruksjonene for hvert trinn. Pass på at du kobler tabellen til tekstfilen.
Det opprettes en ny tabell som vises i navigasjonsruten.
-
-
Eksporter dataene fra den koblede tabellen til en XML-datafil og en XML-skjemafil.
-
Klikk Eksterne data > XML-fil (i Eksport-gruppen).
-
Angi filnavnet og -formatet i dialogboksen Eksporter – XML-fil, og klikk OK.
-
-
Avslutt Access.
Excel
-
Opprett en XML-tilordning basert på XML-skjemafilene du eksporterte fra Access.
Hvis dialogboksen Flere røtter vises, passer du på at du velger dataroot slik at du kan opprette en XML-tabell.
-
Opprett en XML-tabell ved å tilordne dataroot-elementet. Se Tilordne XML-elementer hvis du vil ha mer informasjon.
-
Importer XML-filen du eksporterte fra Access.
Obs!:
-
Det er mange typer XML-skjemakonstruksjoner som Excel ikke støtter. Følgende XML-skjemakonstruksjoner kan ikke importeres til Excel:
-
<alle> Dette elementet gjør at du kan ta med elementer som ikke er deklarert av skjemaet.
-
<anyAttribute> Dette elementet gjør at du kan ta med attributter som ikke er deklarert av skjemaet.
-
Rekursive strukturer Et vanlig eksempel på en rekursiv struktur er et hierarki med ansatte og ledere der de samme XML-elementene er nestet over flere nivåer. Excel støtter bare rekursive strukturer med en dybde på ett nivå.
-
Abstrakte elementer Disse elementene er ment å deklareres i skjemaet, men aldri brukes som elementer. Abstrakte elementer er avhengig av andre elementer som erstattes med det abstrakte elementet.
-
Erstatningsgrupper Disse gruppene gjør at et element kan byttes der det refereres til et annet element. Et element angir at det er medlem av et annet elements erstatningsgruppe, via attributtet <substitutionGroup>.
-
Blandet innhold Dette innholdet deklareres ved hjelp av mixed="true" i en definisjon av kompleks type. Excel støtter ikke det enkle innholdet i den komplekse typen, men støtter underordnede koder og attributter som er definert i den komplekse typen.
Bruke eksempel-XML-skjema- og XML-datafiler
Følgende eksempeldata har grunnleggende XML-elementer og -strukturer du kan bruke til å teste XML-tilordning hvis du ikke har XML- eller tekstfiler for å lage XML-filene. Her finner du ut hvordan du kan lagre disse eksempeldataene til filer på datamaskinen:
-
Merk eksempelteksten til filen du vil kopiere, og trykk CTRL + C.
-
Start Notisblokk, og trykk CTRL + V for å lime inn eksempelteksten.
-
Trykk CTRL + S for å lagre filen med samme filnavn og -type som eksempeldataene du kopierte.
-
Trykk CTRL + N i Notisblokk, og gjenta trinn 1–3 for å opprette en fil for den andre eksempelteksten.
-
Avslutt Notisblokk.
XML-eksempeldata (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-eksempelskjema (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>
Opprette en XML-tilordning
Du oppretter en XML-tilordning ved å legge til et XML-skjema i en arbeidsbok. Du kan kopiere skjemaet fra en XML-skjemafil (XSD), eller Excel kan prøve å utlede et skjema fra en XML-datafil (XML).
-
Klikk Utvikler > Kilde.
Hvis du ikke ser Utvikler-fanen, kan du se Vis Utvikler-fanen nedenfor.
-
Klikk XML-tilordninger i oppgaveruten XML-kilde, og klikk deretter Legg til.
-
Klikk stasjonen, mappen eller Internett-adressen som inneholder filen du vil åpne, i Søk i-listen.
-
Klikk filen, og klikk deretter Åpne.
-
For en XML-skjemafil oppretter XML en XML-tilordning basert på XML-skjemaet. Hvis dialogboksen Flere røtter vises, velger du en av rotnodene som er definert i XML-skjemafilen.
-
For en XML-datafil prøver Excel å utlede XML-skjemaet fra XML-dataene. Deretter oppretter Excel en XML-tilordning.
-
-
Klikk OK.
XML-tilordningen vises i oppgaveruten XML-kilde.
Tilordne XML-elementer
Du tilordner XML-elementer til enkelttilordnede celler og gjentatte celler i XML-tabeller, slik at du kan opprette en relasjon mellom cellen og XML-dataelementet i XML-skjemaet.
-
Klikk Utvikler > Kilde.
Hvis du ikke ser Utvikler-fanen, kan du se Vis Utvikler-fanen nedenfor.
-
I oppgaveruten XML-kilde, velger du elementene du vil tilordne.
Hvis du vil merke elementer som ikke er tilstøtende, klikker du ett element og holder deretter CTRL mens du klikker hvert element du vil tilordne.
-
Slik tilordner du elementene:
-
Høyreklikk de merkede elementene, og klikk Tilordne element.
-
Merk en celle i dialogboksen Tilordne XML-elementer, og klikk deretter OK.
Tips!: Du kan også dra de merkede elementene dit du vil de skal vises i regnearket.
Hvert element vises i fet i oppgaveruten XML-kilde for å angi at elementet er tilordnet.
-
-
Avgjør hvordan du vil håndtere etiketter og kolonneoverskrifter:
-
Når du drar et ikke-gjentatt XML-element over til regnearket for å opprette en enkelttilordnet celle, vises et smartflagg med tre kommandoer, som du kan bruke til å kontrollere plasseringen av overskriften eller etiketten:
Dataene har allerede en overskrift Klikk dette alternativet hvis du vil ignorere XML-elementoverskriften siden cellen allerede har en overskrift (til venstre for eller over dataene).
Plasser XML-overskriften til venstre Klikk dette alternativet hvis du vil bruke XML-elementoverskriften som celleetikett (til venstre for dataene).
Plasser XML-overskriften over Klikk dette alternativet hvis du vil bruke XML-elementoverskriften som celleoverskrift (over dataene).
-
Når du drar et gjentatt XML-element til regnearket for å opprette gjentatte celler i en XML-tabell, brukes XML-elementnavnene automatisk som kolonneoverskrifter for tabellen. Du kan imidlertid fritt endre kolonneoverskriftene ved å redigere kolonneoverskriftscellene.
Du kan klikke Alternativer i oppgaveruten XML-kilde hvis du vil kontrollere virkemåten til XML-tabellen ytterligere:
Flett elementer automatisk under tilordning Når det er merket av for dette alternativet, utvides XML-tabeller automatisk når du drar et element til en celle ved siden av XML-tabellen.
Mine data har overskrifter Når det er merket av for dette alternativet, kan du bruke eksisterende data som kolonneoverskrifter når du tilordner gjentatte elementer til regnearket.
Obs!:
-
Hvis alle XML-kommandoene er nedtonet, og du ikke kan tilordne XML-elementer til noen celler, kan det hende at arbeidsboken er delt. Klikk Se gjennom > Del arbeidsbok for å kontrollere det og fjerne den fra delt bruk etter behov.
Hvis du vil tilordne XML-elementer i en arbeidsbok du vil dele, må du tilordne XML-elementene til de ønskede cellene, importere XML-dataene, fjerne alle XML-tilordningene og deretter dele arbeidsboken.
-
Hvis du ikke kan kopiere en XML-tabell som inneholder data til en annen arbeidsbok, kan det hende at XML-tabellen har en tilknyttet XML-tilordning som definerer datastrukturen. Denne XML-tilordningen er lagret i arbeidsboken, men når du kopierer XML-tabellen til en ny arbeidsbok, tas ikke XML-tilordningen med automatisk. I stedet for å kopiere XML-tabellen, opprettes en Excel-tabell som inneholder de samme dataene. Hvis du vil at den nye tabellen skal være en XML-tabell, gjør du følgende:
-
Legg til en XML-tilordning i den nye arbeidsboken ved å bruke XML-filen eller XSD-filen du brukte til å opprette den opprinnelige XML-tilordningen. Du må lagre disse filene hvis du vil legge til XML-tilordninger i andre arbeidsbøker.
-
Tilordne XML-elementene til tabellen for å gjøre den til en XML-tabell.
-
-
Når du tilordner et gjentatt XML-element til en sammenslått celle, fjernes sammenslåingen av cellene. Dette er den forventede virkemåten siden gjentatte elementer er laget for å bare virke med celler som ikke er flettet.
Du kan tilordne enkle, ikke-gjentatte XML-elementer til en sammenslått celle, men det er ikke tillatt å tilordne et gjentatt XML-element (eller et element som inneholder et gjentatt element) til en sammenslått celle. Cellen vil ikke være flettet, og elementet vil tilordnes cellen der pekeren er plassert.
-
-
Tips!:
-
Du kan fjerne tilordningen av XML-elementer du ikke vil bruke, eller for å hindre at innholdet i celler overskrives når du importerer XML-data. Du kan for eksempel midlertidig fjerne tilordningen av et XML-element fra én enkelt celle eller gjentakende celler med formler du ikke vil skrive over når du importerer en XML-fil. Når importen er fullført, kan du tilordne XML-elementet til formelcellene på nytt, slik at du kan eksportere resultatene av formlene til XML-datafilen.
-
Du fjerner tilordning av XML-elementer ved å høyreklikke navnet i oppgaveruten XML-kilde, og klikke Fjern element.
Vis fanen Utvikler
Hvis fanen Utvikler ikke vises, gjør du følgende for å vise den:
-
Klikk Fil > Alternativer.
-
Klikk kategorien Tilpass båndet.
-
Merk av for Utvikler under Hovedfaner, og klikk deretter OK.
Se også
Slette XML-tilordningsinformasjon fra en arbeidsbok