Bruke XML i Excel - Excel-tips

Alle sier at XML er den viktigste nye funksjonen i Office 2003. Men med mindre du tilfeldigvis er i et selskap med tonnevis av XML-skjemaer som flyter rundt, har du sannsynligvis ikke klart å finne ut hvordan du kan kopiere den kule demoen. så Microsoft gjøre under lanseringen av Office 2003. For de av dere som abonnerer på Woodys nyhetsbrev, innser du nå at Woody kommer til å serieisere forklaringen på XML, noe som får oss til å vente 4 uker (eller mer) på å få hele historien. Så før Woody noen gang kan komme til poenget, skal jeg gå gjennom et langt tips som forklarer hvordan du kan bruke XML i Office 2003.

Det store løftet

Microsoft sier at du nå kan lagre data som XML og enkelt bruke dataene på nytt. Åpne den samme datafilen og den ser en vei i Excel, åpne datafilen og den ser en annen måte i Word. Det er veldig kraftig. Vi har også det faktum at siden Office 2003 anser XML som et opprinnelig filformat, kan alle med hvilket som helst programmeringsspråk skrive native XML-filer. Hvis du har QBasic eller Rexx eller noe, kan du nå opprette XML Excel (ExcelML?) Filer på farten.

Bare i Excel Professional

Vi står nå overfor et klassesystem i Office 2003. Full XML-støtte er ikke tilgjengelig i disse utgavene: (Koder i kursiv står for hvor du kan kjøpe hver: R = Retail, P = Forhåndsinstallert med ny datamaskin, V = Volume-Licensing , A = Academic Licensing, S = School Resellers).

  • Microsoft Office Small Business Edition 2003 (R, P, V, A)
  • Microsoft Office Standard Edition 2003 (R, V, A, S)
  • Microsoft Office Basic Edition 2003 (P)
  • Microsoft Office Student and Teacher Edition 2003 (R, S)

Full XML-støtte er tilgjengelig i disse utgavene:

  • Microsoft Office Professional Edition 2003 (R, P, V, A, S)
  • Microsoft Office Professional Enterprise Edition 2003 (inkluderer InfoPath) (V)
  • Microsoft Excel 2003 (R) (Den frittstående Excel-boksen anses å være profesjonell)

Hvis du er så uheldig å ha en av de "mindre" versjonene av Office 2003, kan det være den billigste oppgraderingsveien din å kjøpe butikkboksversjonen av Excel. Med mindre du jobber i et bedriftsmiljø, er den eneste måten å få InfoPath (det nye verktøyet som lar deg lage skjemaer og XML-skjemaer) å kjøpe detaljboksversjonen.

Hva er XML? Er det som HTML?

Eksempel på XML-data

XML står for Extensible markup language. Hvis du noen gang har sett på "Vis kilde" -visningen på en webside i Notisblokk, er du kjent med strukturen til XML. Mens HTML tillater visse tagger, som TABLE, BODY, TR, TD, tillater XML alle tagger. Du kan lage en hvilken som helst slags tag for å beskrive dataene dine. Her er et skjermbilde av noen XML-data som jeg skrev inn i notisblokk:

Her er noen enkle regler om XML:

  • Hver bit data må starte og slutte med en identisk tag: Data
  • Kodenavn er store og små bokstaver og er IKKE gyldige koder fordi store bokstaver i sluttkoden ikke er den samme som store bokstaver i startkoden.
  • XML-filen må begynne og slutte med en rot-tag. Det kan bare være en rotkode i en fil. I eksemplet ovenfor er rotkoden.
  • Du kan ha en tom tag - sett skråstrek på slutten av taggen i stedet for begynnelsen:
  • Hvis du hekker koder, må du lukke den indre koden før du lukker den ytre koden. Mens HTML tillater denne strukturen, klikker du Avbryt, dette er ikke gyldig i XML. data vil fungere, men data vil ikke.

Alfabetssuppe: Tre filtyper

Her er de tre filene vi vil møte når vi jobber med XML.

  • .XML er datafilen vist ovenfor
  • .XSD er en definisjon av XML-skjema. Dette er en viktig fil. Dataforhold er definert her. Datavalidering er også definert her. For å faktisk gjøre Microsoft-demoen, trenger du en XML Schema-fil. Mens alle kan skrive XML i notisblokken, trenger vi et skjema for å gjøre noe kult. Jeg vil vise deg hvordan du lager en nedenfor.
  • .XSL er en XML StyleSheet Language-fil - disse lar deg gjenbruke dataene fra ett format til et annet.

Langt det største hinderet er hvordan du lager Schema-filen. Du kan åpne en XML-fil i Excel, men du kan ikke gjøre noen transformasjoner uten skjema. Heldigvis oppretter Excel et standardskjema for deg, men det er IKKE opplagt hvordan du bruker skjemaet. La oss gå gjennom trinnene.

  1. Åpne et tomt Notisblokk. Kopier disse dataene nedenfra og lim dem inn i Notisblokk. Lagre filen som test.xml.

     ABC Co 123 Main Salem OH 44460 12345 100 10.50 YXZ Co 234 State Akron OH 44313 23456 10 20.50 
  2. I Excel bruker du Fil - Åpne. Hvis boksen "Filer av typen:" er satt til Alle Microsoft Excel-filer, vil du se test.xml. Klikk Åpne.
  3. Du blir først presentert for Åpne XML-dialogboksen. Senere vil vi bruke den kraftige XML-kildeoppgaveruten, men vi kan ikke gjøre det før vi har et gyldig skjema. For øyeblikket velger du å åpne som en XML-liste.

    Åpne XML-dialogboksen
  4. Neste - vi får informasjonsboksen om at XML ikke har et skjema. Dette er en fantastisk melding - fordi Microsoft nå skal lage et skjema for deg på farten.

    Advarsel om skjema
  5. Her er dataene våre i Excel. Det er ganske kult. De slår på den fantastiske nye Excel 2003 List-funksjonen (vanlig snarvei: Ctrl + L). Når List-funksjonen er slått på, har vi autofilter i hver kolonne og en Access-lignende stjerne rad for å legge til nye data.

    XML-data i Excel-regneark
  6. Nå - her er det papirløse trikset. Et tips til hatten til Microsofts Excel XML-guru Chad Rothschiller for å vise oss dette kule trikset. Start Visual Basic Editor med Alt + F11. I Visual Basic Editor trykker du på Ctrl + G for å åpne den umiddelbare ruten. I den umiddelbare ruten skriver du inn:

    Print ActiveWorkbook.XmlMaps(1).Schemas(1).Xml
    Umiddelbart vindu i VBE

    Husker du meldingen i nr. 4? Microsoft tilbød seg å lage et skjema på farten for oss. Denne lille koden ovenfor vil skrive ut skjemaet. Klikk på enter, og skjemaet skrives ut i den umiddelbare ruten.

    Skjema i den umiddelbare ruten

    Åpne et tomt notisblokk, kopier dataene fra det umiddelbare vinduet og lim inn i det tomme notisblokken. Du kan nå se hele skjemaet for vårt enkle datasett.

    Lagre skjemafil

    Du kan nå lagre notisblokkfilen som TodaysOrders.xsd

  7. Gå tilbake til Excel og lukk testdatasettet.
  8. Åpne test.xml fra Excel igjen. Denne gangen angir du at du vil bruke XML-kildeoppgaveruten, og klikker deretter OK i skjemainformasjonsboksen.

    Velg åpningsalternativ for XML-kilde
  9. Du får nå et tomt regneark, men XML-kilde-ruten til høyre viser alle tilgjengelige felt.

    XML-kildepanel
  10. Velg rullegardinmenyen Alternativer og velg Forhåndsvisning av data for å se et utvalg av hvert element i oppgavelinjen.

    Forhåndsvisning av data i oppgaveruten
  11. Legg til en pent formatert tittel i det tomme regnearket. Dra salgsordreelementet og slipp det i celle B6.

    Dra og slipp dataelement
  12. Hvis du ikke ser listeverktøylinjen, velger du Vis - Verktøylinjer - Liste for å vise verktøylinjen.
  13. Velg Oppdater XML-data på verktøylinjen

    Oppdater XML-dataknapp
  14. Eksempel-XML-dataene som vi skrev ovenfor blir lagt til i regnearket.

    Resultat XML-data på regnearket
  15. Lagre arbeidsboken som en vanlig Excel-fil, kanskje kalt OrderReport.xls

Forfriskende data daglig

Hvis du kan få systemet til å begynne å skrive ut daglige bestillinger hver dag til Test.XML, så er du klar. Åpne OrderReport.xls, oppdater XML-dataene, og du vil ha en pent formatert rapport om XML-bestillinger hver dag. Dette er ganske kraftig - jeg setter opp formateringen en gang, åpner filen hver dag, klikker på Oppdater, og jeg har en pent formatert rapport med dataene fra XML-settet.

Oppdater XML-data daglig

Bruke Excel til å opprette XML-data

Kan vi bruke Excel til å lage nye XML-data? Nå som vi har et skjema definert, ja, det kan vi! Til vårt eksisterende regneark kan vi få våre telefonbestillere til å legge til nye data i Excel-filen gjennom dagen. På slutten av dagen, bruk File - SaveAs. Velg å lagre er som type: XML-data.

Lagre som XML-data

Bekreft hvilket kart du skal bruke:

Eksporter XML-dialogboksen

Omdisponere dataene i Word

Nå som vi har opprettet et skjema og data, la oss åpne dataene i Microsoft Word 2003. Etter å ha åpnet TestAsData.xml i Word 2003, får vi standard datavisning i Word.

Åpne XML-datafilen i Microsoft Word

Du kan formatere dette dokumentet:

Formater dokument

Trykk Ctrl + Shift + X for å slå av feltene:

Slå XML-felt av i Word

Bruke XSL-visninger for å gjenbruke data

Ovennevnte eksempel ved å bruke Dra og slipp oppretter faktisk ikke en Transform. Hvis du oppretter Transform-filer, kan du enkelt transformere XML-dataene til forskjellige visninger i Word. Det er her den virkelige kraften kommer inn. Før jeg viser deg hvordan du lager din egen transformasjon, la oss gå gjennom hvordan Microsoft satte opp demoen i Office 2003-lanseringen.

For å prøve dette på din kopi av Word 2003, last ned XML-prøvepakke. ZIP-filen inneholder:

  • Én XML-fil: SampleMemo.xml
  • Ett skjema: Memo.xsd
  • Tre transformasjonsfiler: elegant.xsl, professional.xsl, trendy.xsl

Følg disse trinnene:

  1. Start Word 2003
  2. Velg Verktøy - Maler og tillegg fra menyen …

    Maler og tillegg
  3. Klikk på fanen XML-skjema, og velg Legg til skjema …

    Fanen XML-skjema
  4. Naviger til hvor du pakket ut eksempelfilene. Velg Memo.xsd og klikk Åpne.

    Velge XSD-fil for å legge til et skjema
  5. I skjemainnstillingsdialogen, gi skjemaet et vennlig navn i Alias-boksen. Kanskje noe sånt som "Memo". Klikk OK.

    Legg til et alias i skjemaet

    På dette tidspunktet er Word nå klar over notatskjemaet. Deretter må vi gjøre Word 2003 oppmerksom på Transforms. Merk at Microsoft kaller disse "løsningene".

  6. Du bør fortsatt være i dialogboksen Maler og tillegg. Klikk Skjema-bibliotek …

    Skjemabibliotek
  7. I dialogboksen Skjemabibliotek velger du Notat i topplisteboksen. Dette aktiverer knappen nederst i dialogboksen for "Legg til løsning …".
  8. Klikk på Legg til løsning-knappen.

    Legger til løsning
  9. Naviger til mappen med .xsl-filene dine. Velg Contemporary.xsl og klikk Åpne.

    Velg Transform File
  10. I dialogboksen Løsningsinnstillinger, gi transformasjonsfilen et vennlig navn, for eksempel "Contemporary". Klikk OK.

    Alias ​​for Transform File
  11. Gjenta trinn 8 til 10 for å legge til Elegant.xsl og Professional.xsl. Klikk OK for å lukke skjemabiblioteket. Klikk OK for å lukke maler og tillegg.

    Fullfør skjemabiblioteket

    På Microsoft-demoen ble alle disse 11 trinnene gjort bak kulissene. Publikum gikk inn og vi så på hvordan de viste oss disse trinnene.

  12. Vi skal åpne SampleMemo.xml i Word. Her er notisblokkvisningen til denne filen. Det er vanlige XML-data uten formatering.

    Eksempel på XML-datafilinnhold
  13. Åpne SampleMemo.xml fra Word. Bak kulissene skanner Microsoft XML-filen for å finne at dette er data ved hjelp av Memo-skjemaet. Det ser i skjemabiblioteket for å se om det er samsvar på "memo" -skjemaet. Når det er, finner den alle XSL-løsningene vi har lagt til. Siden vi har tre, velger Word en som skal vises, og tilbyr oss de andre i XML-dokumentoppgaveruten. Dette er veldig fantastisk.

    Her er XML-datavisningsruten:

    XML-datavisningsrute

    Her er standardvisningen av dataene (dette bruker Elegant xsl).

    Standardvisning av dataene

    Klikk på Bare data, og du får bare dataene uten formatering.

    Data Only View

    Klikk på Contemporary, og noen sekunder senere har du en helt annen formatert visning av dataene:

    Formatert visning av dataene
  14. Du kan vise / skjule de lilla XML-kodene med Ctrl + Shift + X.

    Vis / skjul XML-tagger

Lage dine egne XSL Transform-filer

Jeg kan se kraften. Men så langt har vi bare brukt nedlastede XSL-filer til andres data. Vi trenger virkelig en måte å lage en XSL-fil for våre egne data. Igjen, hvis du jobber for et selskap som er XML-rik, har noen sannsynligvis allerede disse transformasjonene satt opp. Imidlertid, hvis du er den første personen i selskapet som prøver XML-ting, må du gjennomgå den relativt smertefulle oppgaven med å sette opp dine egne transformasjonsfiler.

Her er hvordan vi skal gjøre dette. Først skal jeg lage et fancy dokument i Word som viser hvordan jeg vil vise XML-dataene. Jeg vil sette inn lett tilgjengelige steder der jeg vil at XML-feltene skal gå. Jeg vil lagre dette dokumentet som Word XML. Så, ved hjelp av Notisblokk, skal jeg redigere dokumentet, lime inn noe XSL-kode og lagre filen. Dette skal opprette en tilpasset XSL-transformasjonsfil.

  1. I Word bygger du et pent formatert eksempel. Nedenfor har jeg laget en ordrebekreftelse. Dette har en logo, innledende tekst, feltene fra XML-filen og avsluttende tekst. Jeg har brukt forskjellige skrifttyper og farger. Konvensjonen med å bruke *** for å markere feltene er ganske enkelt å hjelpe meg når jeg ser gjennom Word XML-filen i Notisblokk.

    Mal i Word
  2. Jeg vil lagre denne filen som Word XML.

    Lagrer som Word XML
  3. Jeg åpner to notisblokkvinduer. Den ene har salgsordre.xml og den andre har en eksisterende elegant.xsl-tranformkode. (fortsettelse følger).

Interessante artikler...