Informatie over Microsoft Excel 2002 en XML

Artikel ID: 288215 - Bekijk de producten waarop dit artikel van toepassing is.
Alles uitklappen | Alles samenvouwen

Samenvatting

Excel 2002 kunt u bestanden opent en opslaat in de indeling XML (Extensible Markup Language). Dit artikel biedt een overzicht van XML en XML-opmaakmodel en hoe ze kunnen worden gebruikt met Excel. De volgende onderwerpen worden besproken:

Meer informatie

Wat is XML?

XML is een tekstindeling voor gestructureerde gegevens. Omdat XML eenvoudig is te maken en te interpreteren, wordt gebruikt in een breed scala aan toepassingen. XML volgt goede of juist opgemaakt, een aantal richtlijnen waarmee de gegevensstructuur, maar biedt grote flexibiliteit van de XML-ontwikkelaars maken een onbeperkt aantal aangepaste tags die het best beschrijven de gegevens en relaties die kunnen bestaan in de gegevens.

Net als HTML, XML is eenmarkup languagein de tekst die is ingedeeld met een combinatie van tags (woorden tussen punt haken < and="">) en ken merken (van de vorm naam = "waarde"). Maar dat HTML bepaalt wat elke tags en ken merken betekent en hoe deze moet worden weer gegeven voor de weergave, XML de codes alleen om af te bakenen elementen van gegevens gebruikt. Omdat u elke tagnaam met XML gebruiken kunt, is het aan het goeddunken van een toepassing interpreteert de gegevens en de betekenis. Maar XML-ontwikkelaars vrij zijn te maken welke tags of beste hiërarchie aanpassen aan hun gegevens, is er een set van specificaties die moeten worden gevolgd om ervoor te zorgen dat de XML wordt beschouwd alsopgemaakt. Juist opgemaakte XML heeft de volgende ken merken:
  • Bevat precies één hoofd element met een unieke naam die niet wordt weer in een ander element in het document gegeven.
  • Elementen zijn correct genest zodat er geen codes tussen elementen overlappen.
  • Alle element codes worden afgesloten.
  • Element start en end tags gebruiken een consistente geval (XML is hoofdlettergevoelig).
  • Alle ken elementkenmerken staan tussen dubbele of enkele aanhalings tekens.
  • Speciale tekens (zoals &, <,>) worden gedefinieerd als ingebouwde entiteiten (&amp; <,>).</,></,>
Hier volgt een voorbeeld van juist opgemaakte XML:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="dictionary.xsl" ?>
<Dictionary>
  <Entries>
    <Entry>
      <Word Type="1">Energetic</Word>
      <Definition>Having, exerting, or displaying energy</Definition>
    </Entry>
    <Entry>
      <Word Type="1">Happy</Word>
      <Definition>Enjoying, displaying, or characterized by pleasure or joy</Definition>
    </Entry>
    <Entry>
      <Word Type="2">Emotion</Word>
      <Definition>A complex, strong subjective response</Definition>
    </Entry>
  </Entries>
</Dictionary>
				
Figuur 1 - juist opgemaakte XML-voorbeeld (Dictionary.xml)
De XML in figuur 1 beschrijft de vermeldingen in een woorden boek. Het hoofd element is <dictionary>en de hoofdmap bevat één onderliggend element met de naam <entries>. <entries>bevat drie kinderen, waarin de gegevens voor een afzonderlijke vermelding in het woorden boek wordt beschreven. Voor elke vermelding twee onderliggende elementen zijn: <word>en <definition>. De waarde van elk element <word>is het woord zelf. <word>elementen hebben ook een Type ken merk geeft aan of het woord een bijvoeglijk naam woord (1) of een zelfstandig naam woord (2). <definition>elementen hebben een tekstwaarde en geen ken merken</definition></word></word></definition></word></entries></entries></dictionary>

Wat is een XML-opmaakmodel?

XML-codes beschrijven de gegevens in een tekstbestand, maar alleen XML geeft niet aan hoe de gegevens aan de gebruiker worden gepresenteerd. Opmaak regels voor XML-gegevens worden vaak opgeslagen in XML-opmaakmodel. XML-opmaakmodel zijn juist opgemaakte XML-documenten die XSL (Extensible Style Language) te gebruikentransformatieXML-gegevens voor de presentatie. U kunt veel stylesheets voor dezelfde XML-gegevens hebt. Terwijl de werkelijke XML-gegevensstructuur hetzelfde blijven kan, bieden stylesheets flexibiliteit om de gegevens op verschillende manieren presenteren.
<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
  <xsl:template match="/">
    <HTML>
      <BODY>
        <UL>
          <xsl:for-each order-by="+ Word" select="Dictionary/Entries/Entry">
            <LI>
              <B><xsl:value-of select="Word"/></B>
              <xsl:if test="Word[@Type='1']"><I>adj.</I></xsl:if>
              <xsl:if test="Word[@Type='2']"><I>n.</I></xsl:if>
              <BR/>
              <xsl:value-of select="Definition"/>
              <BR/><BR/>
            </LI>
          </xsl:for-each>
        </UL>
      </BODY>
    </HTML>
  </xsl:template>
</xsl:stylesheet>
				
Figuur 2: XML-opmaakmodel (Dictionary.xsl)

Dictionary.XSL, afgebeeld in figuur 2 is een opmaak model dat kan worden gebruikt om te zetten in het voorbeeld Dictionary.xml. De resultaten van de transformatie in een HTML-presentatie van de gegevens die in een webbrowser kunnen worden weer gegeven. De XSL sorteert de woorden lijst items op alfabetische volg orde in een lijst met opsommings tekens en elk onderdeel van het woorden boek indelingen. De getransformeerde XML die weer in de browser gegeven wordt heeft de volgende strekking:
  • Emotiesn.
    Een complexe, sterk subjectieve reactie

  • EnergiekAdj.
    Gelet, waarbij of energie weer geven

  • BlijeAdj.
    Genieten, weer geven of een methode die wordt gekenmerkt door plezier of joy

Probeer het zelf: Kopieer de XML in een teksteditor plakken in figuur 1 en sla deze op als Dictionary.xml. Kopieer en plak het XML-opmaakmodel in figuur 2 en opslaan als Dictionary.xsl in dezelfde map als Dictionary.xml. Start Internet Explorer en Ga naar Dictionary.xml.

Hoe XML-bestanden in Excel vertalen?

Excel kan elk XML-bestand dat is juist opgemaakt openen. XML-bestanden kunnen worden geopend vanuit hetOpenin deBestandmenu. XML-bestanden kunnen ook worden geopend via programma code met behulp van deOpenofOpenXMLmethoden van deWerk mappencollectie. Ongeacht of u het XML-bestand via de programma code of via de gebruikersinterface (UI) opent, het bestand is gemarkeerd als alleen-lezen zodat u niet per ongeluk het oorspronkelijke bronbestand vervangen door een in deDe indeling XML-werkblad (XMLSS).

XML samenvoegen

In Excel bij het importeren van XML-bestand dat zich niet in de indeling XML-werkblad (XMLSS) wordt een speciale afvlakkings algoritme laden van de gegevens in rijen en kolommen. Excel-werkbladen zijn tweedimensionale entiteiten bestaat uit rijen en kolommen. Omdat XML meer dan twee dimensies hebben kan, is afvlakken XML interpreteren zodat deze kan worden geladen in de cellen op een werk blad nodig.

Bekijk de volgende twee sets van XML, die in wezen dezelfde gegevens op verschillende manieren weer geven:

<?xml version="1.0"?>
<Customer>
   <CustomerID>1234</CustomerID>
   <FirstName>John</FirstName>
   <LastName>Doe</LastName>
</Customer>
				
Figuur 3: Klant XML met onderliggende elementen
<?xml version="1.0"?>
<Customer CustomerID="1234" FirstName="John" LastName="Doe"/>
				
Figuur 4: Klant XML met ken merken
Als u de XML in figuur 3 in Excel laden, worden de gegevens geïmporteerd in cellen zoals hieronder:

 ABC
1/Customer  
2/CustomerID/FirstName/LastName
31234JohnDoe

Excel behandelt ken merken exact zoals de onderliggende elementen. Om naam conflicten met bestaande elementen, Excel voegt aan het apen staartje (@) aan het begin van de ken merk namen voor consistentie met de naamgevingsstandaard voor XSL-patronen. De XML in afbeelding 4 wordt daarom in cellen op dezelfde manier, met de uitzondering dat cellen A2, B2 en C2 "/@CustomerID", "/@FirstName" en "/@LastName", respectievelijk bevat geladen.

De klant XML in figuren 3 en 4 volgt een tweedimensionale structuur, gemakkelijk te zien. Maar de volgende klant XML kan niet eenvoudig worden geïnterpreteerd als tweedimensionale vanwege de toevoeging van het <order>niveau:</order>

<?xml version="1.0"?>
<Customers>
  <Customer>
    <CustomerID>1234</CustomerID>
    <FirstName>John</FirstName>
    <LastName>Doe</LastName>
    <Orders>
      <Order ProdID="AAA" Amt="10"/>
      <Order ProdID="BBB" Amt="3"/>
    </Orders>
  </Customer>
  <Customer>
    <CustomerID>5678</CustomerID>
    <FirstName>Alice</FirstName>
    <LastName>Smith</LastName>
    <Orders>
      <Order ProdID="AAA" Amt="5"/>
    </Orders>
  </Customer>
</Customers>
				
Figuur 5: Klant XML met twee niveaus onder het basis Element

De XML in afbeelding 5 wordt één klant met twee orders en een andere klant met een order. Excel moet importeren het XML-bestand op zodanige wijze dat de relatie tussen Orders en klanten wordt gehandhaafd. Excel importeert de XML in drie rijen, zoals hieronder:


 ABCDEFG
1/Customer      
2/Customer#id/Customer/CustomerID/Customer/CustomerID/#agg/Customer/FirstName/Customer/LastName/Customer/Orders/Order/@Amt/Customer/Orders/Order/@ProdID
3112341234JohnDoe10AAA
411234 JohnDoe3BBB
5256785678AliceSmith5AAA


Twee extra kolommen aanwezig zijn: een #id kolommen die de rij gekoppeld aan het knoop punt <customer>en een #agg die aangeeft wat een "FillDown" kunnen worden beschouwd. Met #agg, de waarde van het eerste knoop punt in het bovenliggende niveau wordt eenmaal weer gegeven en vervolgens wegge laten voor de resterende rijen.</customer>

Noteer ook dat de kolom <prodid>in de kolom voor <amt>komt voor zelfs al na <prodid>lijkt in de werkelijke XML. De afvlakker laadt de elementen in alfabetische volg orde van links naar rechts, niet in de logische volg orde waarin ze worden weer in het oorspronkelijke XML-document gegeven.</prodid></amt></prodid>

StyleSheets

Stylesheets kunnen aanzienlijke voordelen bieden voor XML-bestanden openen in Excel. Met behulp van een opmaak model, kunt u beter bepalen hoe gegevens in cellen wordt geplaatst en zelfs een bepaalde opmaak voor de cellen. Wanneer u een XML-bestand opent in Excel en XML-bestand bevat een of meerXML-opmaakmodelverwerkings instructies, vraagt Excel u om de opmaak modellen die u wilt gebruiken voor transformatie selecteren.

Opnieuw kunt u de klant XML in figuur 5. Als u een verwerkingsinstructie aan de klant XML toevoegen (<?xml-stylesheet type="text/xsl" href="Customer.xsl"?>), kunt u bepalen welke kolommen in het werk blad de gegevens weer gegeven in en aangepaste opmaak toepassen. Dit is een voorbeeld opmaak model dat kan worden gebruikt als een transformatie voor de klant XML-voorbeeld.

<?xml version='1.0'?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:template match="/">
   <HTML>
     <HEAD>
       <STYLE>   
         .HDR { background-color:bisque;font-weight:bold }
         .CustomerRow { border-top:thin solid black }
       </STYLE>
     </HEAD>
  
     <BODY>
       <TABLE>
         <COLGROUP WIDTH="100" ALIGN="CENTER"></COLGROUP>
         <COLGROUP WIDTH="100" ALIGN="LEFT"></COLGROUP>
         <COLGROUP SPAN="2" WIDTH="80" ALIGN="CENTER"></COLGROUP>
         <TD CLASS="HDR">Customer ID</TD>
         <TD CLASS="HDR">Name</TD>
         <TD CLASS="HDR">Product ID</TD>
         <TD CLASS="HDR">Amount</TD>
         <xsl:for-each select="Customers/Customer">
           <TR>
             <TD CLASS = "CustomerRow">
               <xsl:value-of select="CustomerID"/>
             </TD>
             <TD CLASS = "CustomerRow">
               <xsl:value-of select="FirstName"/> <xsl:value-of select="LastName"/>
             </TD>
             <TD CLASS = "CustomerRow">
               <xsl:value-of select="./Orders/Order/@ProdID"/>
             </TD>
             <TD CLASS = "CustomerRow">
               <xsl:value-of select="./Orders/Order/@Amt"/>
             </TD>
           </TR>
           <xsl:for-each select="./Orders/Order">
             <xsl:if test="position() > 1">
               <TR>
                 <TD> </TD><TD> </TD>
                 <TD><xsl:value-of select="@ProdID"/></TD>
                 <TD><xsl:value-of select="@Amt"/></TD>
               </TR>
             </xsl:if>
           </xsl:for-each>
         </xsl:for-each>
       <TR><TD CLASS="CustomerRow" COLSPAN="4"> </TD></TR>
       </TABLE>
     </BODY>
   </HTML>
 </xsl:template>
</xsl:stylesheet>
Figuur 6 - klant XML-opmaakmodel (Customer.xsl)
Het opmaak model transformeert de XML in geldige HTML-code (die Excel kan vertalen in de oorspronkelijke indeling). Wanneer u de klant XML met dit opmaak model toegepast opent, geeft Excel de gegevens als een tabel met vier kolommen met koppen (klant-ID, naam, Product-ID en bedrag). Cel opmaak ken merken voor letter type, cel achtergrond kleuren en randen zijn ook aanwezig in de tabel.

Probeer het zelf: Kopieer de XML in een teksteditor plakken in figuur 5 en sla deze op als Customer. XML. Vervolgens kopieert u de XML-opmaakmodel in figuur 6 en sla deze op als Customer.xsl in dezelfde map als de Customer. XML. Start Excel 2002 en open het bestand met en zonder het opmaak model toegepast op de verschillen die het opmaak model.

Problemen bij het openen van XML-bestanden

Als u probeert te openen van een XML-bestand dat is niet juist opgemaakt, ontvangt u een waarschuwing of een "Script parseren Error". Wanneer een waarschuwing wordt weer gegeven, vindt u een beschrijving van waarom het XML-bestand kan niet worden geopend. Beschrijving van de waarschuwing kan ook details bevatten op het knoop punt dat de vertaling niet veroorzaakt. In sommige gevallen waarin een parseerfout is, verschijnt een dialoog venster waarin u fouten in plaats van een waarschuwings bericht; Script parseren fouten worden vastgelegd in een bestand met de naam XMLErr.log in de map Temp. Snel controleren de inhoud van XMLErr.log, gaat u als volgt te werk:
  1. Typ bij een opdrachtpromptcd % temp %en druk op Enter. De huidige map gewijzigd in de map Temp.
  2. Typ bij de opdrachtprompttype xmlerr.logen druk op Enter om de inhoud van het log boek bestand weer te geven.
Een ander probleem dat u tegenkomen kunt wanneer u XML-bestand opent, wordt de Wizard Tekst importeren wordt weer gegeven. XML-bestanden worden alleen tekstbestanden die op een zeer specifieke wijze worden gestructureerd. Excel herkent het bestand dat u wilt openen is XML en niet als tekst zonder opmaak, moet het eerste item in het XML-bestand een XML-declaratie ten minste de gereserveerde naam bevatXMLen een versienummer. Het XML-bestand moet ook ten minste één element (het hoofd element) bevatten:
<?xml version="1.0"?>
<MyXML>
</MyXML>
				

De indeling XML-werkblad (XMLSS)

Excel kunt werk mappen opslaan in XML. Wanneer u een werkmap als XML opslaat, slaat Excel de werkmap in de indeling XML-werkblad (XMLSS). XMLSS beschrijft de inhoud van de werkmap door het vast leggen van cel gegevens en formules, cel opmaak, werk blad instellingen en instellingen van de werkmap. Echter, sommige Excel-functies kunnen niet worden vastgelegd in XML. Deze omvatten:
  • Grafieken
  • OLE-objecten
  • Vormen of Auto vormen
  • VBA-projecten
  • Overzicht
XMLSS is een indeling die wordt gedeeld door Excel 2002 en Office XP spreadsheetonderdeel, zodat in XMLSS bestanden kunnen worden gedeeld tussen de twee. U kunt ook uw eigen opmaak modellen voor XMLSS bestanden te transformeren naar een andere indeling zodat het kan worden gedeeld met een willekeurig aantal toepassingen maken.

Het integreren van XML in Excel-oplossingen

XML-gegevens via biedt de ontwikkelaar veel opportunites voor Excel 2002 oplossingen.

Zo kunt u multisheet werk mappen in XMLSS tijdens runtime zonder het automatiseren van Excel (waarvoor het uitvoerbare bestand van Excel wordt geladen). Omdat Excel een out-of-process-automatiseringsserver is, worden het Excel objectmodel aanroepen kostbaar in termen van prestaties. U kunt XMLSS volledig in handen met alleen de Microsoft XML Parser (MSXML) en XML-opmaak modellen maken. Of u kunt het onderdeel werk blad voor Office XP (in proces) een werk blad maken en de XMLSS voor het werk blad op te halen. In beide gevallen kan de resulterende XMLSS rechtstreeks in Excel worden geopend als een eigen indeling. Door de XMLSS clientbrowsers met behulp van Excel MIME (Multipurpose Internet Mail Extensions) inhouds type streaming, Web toepassingen zoals Active Server Pages (ASP) Gebruik complexe werk mappen zonder de overhead van Excel uitgevoerd op de server kunt maken. Voorbeeld code mogelijk demonstreert XMLSS generatie gebruikt, klikt u op de volgende artikel nummers in de Microsoft Knowledge Base:

288130Het gebruik van ASP XML spreadsheet voor client-side weergave maken
285891Het gebruik van Visual Basic- of ASP-pagina maken van een XML-werkblad voor Excel 2002 en Excel 2003
Een andere mogelijke gebruik van XML in Excel-oplossing is om gegevens te extraheren uit een cellen ber eik in een indeling die gemakkelijk kan worden gedeeld met andere toepassingen. XMLSS uit cellen in een werk blad kunnen worden opgehaald door het aanroepen van deWaardeeigenschap van deBereikobject met dexlRangeValueXMLSpreadsheetparameter. U kunt een stylesheet Transformeren de XMLSS naar een XML-bestand dat kan worden gebruikt door een andere toepassing. Een mogelijke gebruik van deze is de XMLSS aangepaste XML die kan worden geboekt en verwerkt door een webtoepassing transformeren. Voor een voorbeeld van deze techniek, raadpleegt u het volgende artikel in de Microsoft Knowledge Base:

278976Het gebruik van XSL naar Excel XML-werkblad voor server-side transformatie

Referenties

Zie voor meer informatie de volgende websites:
World Wide Web Consortium (W3C)
http://www.w3.org
XSLT-Developer's Guide
http://msdn2.Microsoft.com/en-us/library/ms759204.aspx
XML-overzichten
http://msdn2.Microsoft.com/en-us/library/aa153035.aspx
XML Developer Center
http://msdn2.Microsoft.com/en-us/XML/default.aspx

Eigenschappen

Artikel ID: 288215 - Laatste beoordeling: vrijdag 23 september 2011 - Wijziging: 3.0
De informatie in dit artikel is van toepassing op:
  • Microsoft Excel 2002 Standard Edition
Trefwoorden: 
kbinfo kbmt KB288215 KbMtnl
Automatische vertaling
BELANGRIJK: Dit artikel is vertaald door de vertaalmachine software van Microsoft in plaats van door een professionele vertaler. Microsoft biedt u professioneel vertaalde artikelen en artikelen vertaald door de vertaalmachine, zodat u toegang heeft tot al onze knowledge base artikelen in uw eigen taal. Artikelen vertaald door de vertaalmachine zijn niet altijd perfect vertaald. Deze artikelen kunnen fouten bevatten in de vocabulaire, zinsopbouw en grammatica en kunnen lijken op hoe een anderstalige de taal spreekt en schrijft. Microsoft is niet verantwoordelijk voor onnauwkeurigheden, fouten en schade ontstaan door een incorrecte vertaling van de content of het gebruik ervan door onze klanten. Microsoft past continue de kwaliteit van de vertaalmachine software aan door deze te updaten.
De Engelstalige versie van dit artikel is de volgende:288215

Geef ons feedback