Skapa en XML-datafil och en XML-schemafil från kalkylbladsdata. Samla data från XML-filer till Excel och exportera Skapa en xml-fil från excel

Om någon skickar en XML-fil som innehåller data i tabeller behöver du inte läsa all text och alla taggade vinkelparenteser. Du kan ladda det här dokumentet direkt i Excel, berätta för Excel hur dokumentet ska visas och arbeta med data med hjälp av kartor.

Under de senaste åren har XML (Extensible Markup Language) blivit ett vanligt format för informationsutbyte och det är inte ovanligt att människor och organisationer skickar XML-filer till varandra. De enkla strukturerna som ligger bakom XML gör utbyte av information extremt enkelt, oavsett om alla parter använder samma programvara och webbläsare. Men tills nyligen, även om allmänna XML-verktyg har blivit utbredda, var det fortfarande svårt att överbrygga gapet mellan XML-dokument och användargränssnittet. Microsoft Excel gör den här uppgiften enkel, åtminstone för data i ett tabellrutnät.

Det här tricket använder Excel-funktioner som endast är tillgängliga i Excel för Windows äldre än 2003. Tidigare versioner av Excel stöder inte dem; Dessa funktioner stöds inte i nuvarande eller planerade versioner av Excel för Macintosh.

Låt oss börja med det enkla XML-dokumentet som visas i Listing 8.1.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 < ?xml version- "1.0" encoding- "UTF-8" ?> < sales> < sale> < date> 2003 - 10 - 05 < isbn> 0596005385 < title>Off1ce 2003 XML Essentia1s < priceus> 34.95 < quantity> 200 < customer IO= "1025" >Zork "s böcker 2003-10-05 0596002920 <priceus>39.95</priceus> <quantity>90</quantity> <customer ID="1025">Zork"</span> s Böcker</ customer> </ title></ sale> < sale> < date> 2003 - 10 - 05 </ date> < isbn> 0596002378 </ isbn> < title>SAX2</ title> < priceus> 29.95 </ priceus> < quantity> 300 </ quantity> < customer ID= "1025" >Zork <span>"s böcker</customer> </sale> <sale> <date>2003-10-05</date> <isbn>0596005385</isbn> <title>Office 2003 XML Essentials 34.95 10 Books of Glory 2003-10-05 0596002920 39.95 25 Books of Glory 2003-10-07 0596002378 SAX2 29.95 5 Books of Glory 2003-10-18 0596002378 SAX2 29.95 15 Titelvåg 2003-10-21 0596002920 39.95 15 Böcker för dig

// Lista 8.1. Ett enkelt XML-dokument för att analysera i Excel< ?xml version-"1.0" encoding-"UTF-8"?> 2003-10-05 0596005385 Off1ce 2003 XML Essentia1s 34.95 200 Zorks böcker 2003-10-05 0596002920 XML i ett nötskal. 2:a upplagan <priceus>39.95</priceus> <quantity>90</quantity> <customer ID="1025">Zorks böcker</customer> 2003-10-05 0596002378 SAX2 29.95 300 Zorks böcker 2003-10-05 0596005385 Office 2003 XML Essentials 34.95 10 Books of Glory 2003-10-05 0596002920 XML i ett nötskal, 2nd Edition 39.95 25 Books of Glory 2003-10-07 0596002378 SAX2 29.95 5 Books of Glory 2003-10-18 0596002378 SAX2 29.95 15 Titelvåg 2003-10-21 0596002920 XML i ett nötskal. 2:a upplagan 39.95 15 Böcker för dig

Detta dokument kan öppnas direkt i Excel med kommandot Arkiv → Öppna. En dialogruta öppnas (Fig. 8.1).

Om du väljer alternativknappen Som en XML-lista kommer du att se en varning om att Excel kommer att skapa ett eget schema för detta dokument, som inte har något schema (Figur 8.2).

Genom att klicka på OK ser du vilket sätt Excel har valt att presentera informationen i dokumentet du öppnar som ett kalkylblad (Figur 8.3). Observera att Excel förväntar sig att möta datumformatet som används för datumelementet, så datum importerade som 2003-10-05 kommer att visas som 10/5/2003.

Nu när ditt dokument har laddats in i Excel kan du bearbeta data precis som du skulle göra med alla andra data i Excel - infoga dem i formler, skapa namngivna intervall, bygga diagram baserat på innehållet, etc. För att hjälpa dig har Excel flera byggda -i dataanalysfunktioner.

Rullgardinslistor i kolumnrubrikerna låter dig välja hur data sorteras (som standard visas data i den ordning som de registrerades i källdokumentet). Du kan också aktivera visning av raden Total; För att göra detta kan du använda Listverktygsfältet eller högerklicka var som helst i listan och välja kommandot Lista → Total rad från snabbmenyn. När sammanfattningsraden visas kan du välja typ av sammanfattningsinformation i rullgardinsmenyn (Fig. 8.4).

Ris. 8.4. Välja totaler för en XML-lista i Excel

Data kan uppdateras genom att lägga till information från ett XML-dokument med samma struktur till området som uppdateras. Om du har ett annat dokument med den här strukturen kan du högerklicka på listan, välja XML → Importera från snabbmenyn och välja det andra dokumentet. Efter redigering kan du dessutom exportera data tillbaka till en XML-fil genom att högerklicka på listan och välja XML → Exportera från snabbmenyn. Detta gör Excel till ett mycket bekvämt verktyg för att redigera enkla XML-dokument med en tabellstruktur.

Om informationen är enkel nog kan du ofta lita på att Excel väljer hur du vill presentera innehållet i filen och använder standardinställningarna. Om datan blir mer komplex, speciellt om den innehåller datum eller text som ser ut som siffror, kanske du vill använda XML-scheman för att berätta för Excel hur man läser data och vilken data som passar i en given karta. För vårt dokument kan XML-schemat se ut som Listing 8.2.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 < ?xml version= "1.0" encoding= "UTF-8" ?> < xs: schema xmlns: xs= "http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" >< xs: element name= "sales" > < xs: complextype> < xs: sequence> < xs: element maxOccurs= "unbounded" ref= "sale" > < xs: element name= "sale" > < xs: complextype> < xs: sequence> < xs: element ref= "date" > < xs: element ref= "ISBN" > < xs: element ref= "T1tle" > < xs: element ref= "PriceUS" > < xs: element ref= "quantity" > < xs: element ref= "customer" > < xs: element name= "date" type= "xs:date" > < xs: element name= "ISBN" type= "xs:string" > < xs: element name= "Title" type= "xs:string" > < xs: e1ement name= "PriceUS" type= "xs:decimal" > < xs: element name= "quant1ty" type= "xs:integer" > < xs: element name= "customer" > < xs: complextype mixed= "true" > < xs: attribute name= "ID" use = "required" type= "xs:integer" >

// Lista 8.2. Schema för bokförsäljningsdata< ?xml version="1.0" encoding="UTF-8"?>

Observera att datumelementet definieras som ett datum och ISBN-elementet definieras som en sträng, inte ett heltal. Om du börjar med att öppna det här diagrammet istället för dokumentet kommer du att tvinga Excel att ladda dokumentet genom att lagra den inledande nollan i ISBN.

Den här gången skapar du listan innan du laddar XML-dokumentet, och börjar med ett tomt kalkylblad. Du måste öppna åtgärdsfönstret XML-källa. Om det inte redan är öppet trycker du på kortkommandot Ctrl+Fl. Sedan, från rullgardinsmenyn högst upp i aktivitetsfönstret, välj XML-källa och du kommer att se något som liknar Fig. 8.6.

För att ladda ner diagrammet, klicka på knappen XML Maps. Dialogrutan XML Maps öppnas (Figur 8.7).

Klicka på knappen Lägg till för att öppna schemat och välj schemat (Figur 8.8). Om schemat inte begränsar dokument till ett startelement, visas en dialogruta som ber dig att välja ett rotelement. Eftersom dokumenten i detta exempel börjar med elementet försäljning, välj "försäljning".

När du klickar på OK visas en varning som varnar dig om att diagrammen kan vara svåra att tolka. XML Schema är en enorm specifikation som stöder ett extremt stort antal strukturer som inte passar hur Excel förstår information, så Excel har vissa begränsningar.

I dialogrutan XML Maps kommer Excel att indikera att diagrammet har lagts till i kalkylarket. Om du klickar på OK återgår du till huvudfönstret i Excel och ett diagram som visar schemastrukturen visas i åtgärdsfönstret för XML-källa. Nu när du har strukturen kan du skapa listan. Det enklaste sättet att göra detta, särskilt med små dokument som vårt, är att dra försäljningsikonen till cell A1.

Nu när du har skapat ett hem för din data måste du flytta in den. Du kan klicka på knappen Importera XML-data i listverktygsfältet eller högerklicka på listan och välja XML → Importera från snabbmenyn. Om du väljer en fil som du öppnade tidigare (i Listing 8.1), kommer du att se resultatet som i Fig. 8.3. Notera tillägget av inledande nollor till värdena, som nu är text som de ska vara.

Du kan också dra objekt individuellt om du vill ordna om dem, eller placera olika delar av information på olika platser i kalkylarket.

Excels stöd för XML-kartor och listor innebär att du kan skapa kalkylblad som fungerar med data som kommer i separata filer med mer flexibilitet än vad som var möjligt med tidigare format som CSV (kommaseparerat värde) eller tabbavgränsat format .

Istället för att ansluta till en databas för att redigera data interaktivt, kan användaren redigera XML-filen medan han är på planet och överföra den till kunden direkt efter landning. Det kanske bästa med Excels nya XML-funktioner är deras flexibilitet. Så länge informationen är organiserad i en struktur som följer ett tabellrutnät, har Excel väldigt få regler om vilka typer av XML som kan skickas dit. Med några få klick och ingen programmering alls kan du integrera XML-data i kalkylblad.

Microsoft Excel är ett praktiskt verktyg för att organisera och strukturera en mängd olika data. Det låter dig bearbeta information med olika metoder och redigera datamängder.

Låt oss överväga möjligheterna att använda den för att generera och bearbeta webbapplikationsfiler. Med hjälp av ett specifikt exempel kommer vi att studera grunderna för att arbeta med XML i Excel.

Hur man skapar en XML-fil från Excel

XML är en filstandard för överföring av data på webben. Excel stöder dess export och import.

Låt oss titta på att skapa en XML-fil med exemplet på en produktionskalender.

  1. Låt oss göra en tabell från vilken du behöver skapa en XML-fil i Excel och fylla den med data.
  2. Låt oss skapa och infoga en XML-karta med den nödvändiga dokumentstrukturen.
  3. Exportera tabelldata till XML-format.

Vi sparar filen som XML.

Andra sätt att få XML-data (schema):

  1. Ladda ner från en databas, specialiserad affärsapplikation. System kan tillhandahållas av kommersiella webbplatser och tjänster. Enkla alternativ är allmänt tillgängliga.
  2. Använd färdiga prover för att testa XML-kartor. Exemplen innehåller huvudelementen och XML-strukturen. Kopiera och klistra in i Notepad och spara med önskat tillägg.


Hur man sparar en Excel-fil i XML-format

Ett av alternativen:

  1. Klicka på Office-knappen. Välj "Spara som" - "Andra format".
  2. Vi tilldelar ett namn. Välj lagringsplats och filtyp – XML.

Fler alternativ:

  1. Ladda ner XLC till XML-konverterare. Eller hitta en tjänst som låter dig exportera filen online.
  2. Ladda ner XML Tools Add-in från Microsofts officiella webbplats. Det är fritt tillgängligt.
  3. Öppnar en ny bok. Office-knapp – "Öppna".

Hur man öppnar en XML-fil i Excel

Klicka på OK. Du kan arbeta med den resulterande tabellen som med vilken Excel-fil som helst.

Hur man konverterar XML-fil till Excel

Vi redigerar den skapade tabellen och sparar den i Excel-format.

Hur man samlar in data från XML-filer i Excel

Principen för att samla in information från flera XML-filer är densamma som principen för transformation. När vi importerar data till Excel överförs XML-kartan samtidigt. Andra data kan överföras till samma schema.

Varje ny fil kommer att länkas till en befintlig karta. Varje element i tabellstrukturen motsvarar ett element i kartan. Endast en databindning är tillåten.

För att konfigurera länkningsalternativ, öppna verktyget Kartegenskaper från Utvecklarmenyn.


Möjligheter:

  1. Varje ny fil kommer att kontrolleras av Excel för överensstämmelse med det installerade kortet (om vi markerar rutan bredvid detta objekt).
  2. Data kan uppdateras. Eller så kommer ny information att läggas till i den befintliga tabellen (gör mening om du behöver samla in data från liknande filer).

Dessa är alla manuella sätt att importera och exportera filer.

De som äger det underbara TextKit-programmet, eller åtminstone hört talas om det (de som inte har det, snarast) borde ha märkt bland dess möjligheter att analysera XML-dokument till vilken mall som helst. Det vill säga om vi har ett XML-dokument kan vi enkelt skapa en webbplats med hjälp av TextKit.

Det återstår ett litet problem, hur man får denna XML. I själva verket, i syfte att skapa en webbplats, kan du ta färdiga dokument från olika affiliate-program, som MixMarket eller Ozone. Men om dem någon annan gång. Jag ska berätta hur du får XML från en vanlig XLS-tabell. I själva verket är det ett MS Excel-format.

Genom att ha denna kunskap kan vi skapa webbplatser med hjälp av TextKit från vilken databas som helst i Excel. Vi kommer att arbeta på 2007 års kontor.

1) Ladda ner tillägget för att arbeta med XML härifrån.

2) Gå till huvudmenyn i Excel, parametrar.

3) Välj "Tillägg" i menyn som öppnas. Vi letar efter objektet "Hantera", väljer "Excel-tillägg" och klickar på "Kör":

4) I fönstret som öppnas, använd "Bläddra" för att välja filen vi behöver XmlTools.xla, lägg till den i panelen och aktivera den genom att markera rutan bredvid den.

Som standard lagras den här filen i följande mapp på din hårddisk:
\Office Samples\OfficeExcel2003XMLToolsAddin.

5) Om du gjorde allt korrekt, kommer du att se det installerade tillägget i avsnittet "Alternativ" i avsnittet "Tillägg":

Nu tar vi vår data för att skapa ett XML-dokument och arbetar med det.

1) Klicka på knappen på panelen. Välj det första objektet:

2) I fönstret som dyker upp väljer du ja/nej om vår data innehåller/inte innehåller en rubrik, i mitt fall gör det det, så jag ändrar kryssrutan till ja. Här håller vi ned den lilla "pip"-knappen för att välja celler med data:

3) Genom att dra, välj data för att skapa ett XML-dokument. Tryck på knappen och klicka på OK.

Om allt gjordes korrekt kommer skylten att bli blå och vit, och menyn kommer att förändras kraftigt:

Tja, nästan allt. Gå nu till alternativen för att spara dokument och välj XML-data där.

Det är faktiskt allt! Vi fick ett färdigt XML-dokument som utdata, som vi nu kan analysera i parsern utan problem. Men mer om det någon annan gång :)