Ako používať Visual Basic alebo ASP vytvoriť vo formáte XML pre program Excel 2002 a Excel 2003

Preklady článku Preklady článku
ID článku: 285891 - Zobraziť produkty, ktorých sa tento článok týka.
Rozbaliť všetko | Zbaliť všetko

SUHRN

Program Microsoft Excel 2002 a Microsoft Office Excel 2003 podporuje formát XML, ktoré môžu obidve Načíst a uložiť zošity (alebo hárky XML). Pomocou tejto tabuľky vo formáte XML formát, môžete vytvoriť viac-hárkové, formátované zošity programu Excel bez použitia Automatizácie. Tento prístup môže byť žiaduce, keď potrebujete vytvoriť programu Excel zošit, ale to nie je možné automatizovať programu Excel (napríklad na webovom serveri alebo od slu?by) alebo Excel nie je nainštalovaný v systéme, kde je váš kód spustiť.

Tento článok vysvetľuje, ako si môžete vytvoriť šablónu XML že, pri použití s transformáciou Extensible Stylesheet Language (XSL), generuje formátovaný zošita, ktoré môžete otvoriť priamo v programe Excel. XML transformácia je preukázaná Active Server Pages (ASP) a Visual Základné. So zreteľom na vzorky kód jazyka Visual Basic, tabuľky údajov je generované výlučne s XML/XSL; používa sa na otvorenie výsledky minimálne automatizácie v programe Excel.

Poznámka: Vzorka opísané v tomto článku je k dispozícii na prevzatie; Stiahnite návod, nájdete v časti Preberanie na konci tohto článku.

DALSIE INFORMACIE

Vytvorenie šablóny XML pre zošit

  1. Vytvorte nový priečinok, C:\ExcelXML.
  2. V programe Excel, začať nový zošit. Pridať tieto údaje označené bunky A1:F2 zošita v bunkách. Treba uviesť bunku F2 ako vzorec.
    A1: Order ID    B1: Product ID   C1: Unit Price   D1: Quantity   E1: Discount  F1: Total
    A2: aaa         B2: 111          C2: 222          D2: 333        E2: 0         F2: =C2*D2*(1-E2)
  3. V bunke F3, napíšte nasledovný vzorec:
    =SUM(F$2:F2)
  4. Vyberte bunky A1:F1. Na Formátovanie ponuky, kliknite na tlačidlo Bunky. Použiť tučné písmo, spodné orámovanie a jednoliatou farbou bunky podfarbenie. Kliknite na položku ok.
  5. Vyberte stĺpce A:F. na Formátovanie ponuku, ukážte na Stĺpec a potom kliknite na tlačidlo Šírka. Typ 15 pre nové šírka stĺpca a potom kliknite na tlačidlo ok. S A:F stĺpce ešte vybraté, na Formátovanie ponuky, kliknite na tlačidlo Bunky. Na Zarovnanie Záložka, vyberte Centrum Vodorovné zarovnanie zozname a potom kliknite na tlačidlo ok.
  6. Vyberte stĺpec E. Na Formátovanie ponuky, kliknite na tlačidlo Bunky. Na Číslo karte, kliknite na tlačidlo Percento určite 0 desatinné miesta a potom kliknite na tlačidlo ok.
  7. Vyberte stĺpec F. Na Formátovanie ponuky, kliknite na tlačidlo Bunky. Na Číslo karte, kliknite na tlačidlo Účtovníctvo a potom kliknite na tlačidlo ok.
  8. Vyberte bunky A3:F3. Na Formátovanie ponuky, kliknite na tlačidlo Výška riadka, typu 25, a potom kliknite na tlačidlo ok. S A3:F3 ešte vybraté, na Formátovanie ponuky, kliknite na tlačidlo Bunky. Orámovať hornej bunky a potom kliknite na ok.
  9. Na Nástroje ponuky, kliknite na tlačidlo Možnosti. Na View kartu, jasné Mriežka políčko a kliknite na tlačidlo ok.
  10. Vyberte riadok 2. Na Okno ponuky, kliknite na tlačidlo Ukotviť priečky.
  11. Vyberte bunku A1.
  12. Na Súbor ponuky, kliknite na tlačidlo Uložiť ako. Prejdite do priečinka C:\ExcelXML ste vytvorili, a uložiť zošit ako "Orders.xsl" v Hárka XML formát.

    Poznámka:: V poli Názov súboru v Uložiť ako dialógové okno, uzavrite názov súboru do úvodzoviek, aby príponu .xml sa nepridá k názvu súboru.
  13. Ukončite program Excel.
  14. Otvoriť Orders.xsl v ľubovoľnom textovom editore, ako napríklad Poznámkový blok.
  15. Vložte nasledovné medzi<?xml version="1.0"?>značku a <workbook>tag:</workbook>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
    <xsl:template match="/">
    <xsl:pi name="xml">version="1.0"</xsl:pi>
    					
  16. Na samom konci Orders.xsl pridať nasledujúce dva riadky:
    </xsl:template>
    </xsl:stylesheet>
    					
  17. Vyhľadajte nasledovný súbor Tagy v Orders.xsl (Táto sada Tagy predstavuje A2:F2 buniek v pracovnom hárku)
       <Row ss:Height="14.25">
        <Cell><Data ss:Type="String">aaa</Data></Cell>
        <Cell><Data ss:Type="Number">111</Data></Cell>
        <Cell><Data ss:Type="Number">222</Data></Cell>
        <Cell><Data ss:Type="Number">333</Data></Cell>
        <Cell><Data ss:Type="Number">0</Data></Cell>
        <Cell ss:Formula="=RC[-3]*RC[-2]*1*(1-RC[-1])"><Data ss:Type="Number">73926</Data></Cell>
       </Row>
    					
    a nahradiť ju s nasledujúcim kódom XSL:
    <xsl:for-each select="xml/rs:data/z:row">
       <Row ss:AutoFitHeight="0" ss:Height="13.5">
        <Cell><Data ss:Type="String"><xsl:value-of select="@OrderID"/></Data></Cell>
        <Cell><Data ss:Type="Number"><xsl:value-of select="@ProductID"/></Data></Cell>
        <Cell><Data ss:Type="Number"><xsl:value-of select="@UnitPrice"/></Data></Cell>
        <Cell><Data ss:Type="Number"><xsl:value-of select="@Quantity"/></Data></Cell>
        <Cell><Data ss:Type="Number"><xsl:value-of select="@Discount"/></Data></Cell>
        <Cell ss:Formula="=RC[-3]*RC[-2]*(1-RC[-1])"><Data ss:Type="Number">0</Data></Cell>
       </Row>
    </xsl:for-each>
    					
  18. Uložiť zmeny, ktoré Orders.xsl a zatvorte súbor.

Použiť Visual Basic transformovať množina záznamov súčasti ADO pretrvával XML na tabuľku vo formáte XML

  1. V jazyku Visual Basic, vytvoriť nové štandardné EXE projekt.
  2. Na Project ponuky, kliknite na tlačidlo Odkazy. Vyberte typ knižnice pre Microsoft ActiveX údajový objekt 2.5 (alebo novší) a Microsoft XML 3.0.
  3. Pridať CommandButton na Form1 a pridajte nasledujúci kód do udalosť kliknúť tlačidla:
        Const sConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
                      "C:\program files\microsoft office\office10\samples\Northwind.mdb"
        Const sOutXML = "C:\ExcelXML\Orders.xml"
        Const sXSL = "C:\ExcelXML\Orders.xsl"
        
        'Retrieve an ADO recordset of the Orders Detail table in Northwind.
        Dim nRecords As Long, nFields As Long
        Dim rs As New ADODB.Recordset
        rs.Open "SELECT * FROM [Order Details]", sConn, adOpenStatic, adLockOptimistic
            
        'Persist the recordset to a new DOMDocument and store the record count.
        Dim oXML As New DOMDocument
        rs.Save oXML, adPersistXML
        nRecords = rs.RecordCount
        nFields = rs.Fields.Count
        rs.Close
          
        'Load the XSL (the workbook template with XSL directives) into a DOMDocument.
        Dim oXSL As New DOMDocument
        oXSL.Load sXSL
        
        'Transform the XML using the style sheet.
        Dim oResults As New DOMDocument
        oXML.transformNodeToObject oXSL, oResults
        
        If oXSL.parseError.errorCode <> 0 Then
            MsgBox "Parse Error: " & oResults.parseError.reason
        Else
           'Modify the ss:ExpandedRowCount attribute for the <table> node to
           'indicate the correct number of rows (count of records + 1 row for
           'the header + 1 row for the total).
            Dim oTable As MSXML2.IXMLDOMElement
            Set oTable = oResults.selectSingleNode("Workbook/Worksheet/Table")
            oTable.setAttribute "ss:ExpandedRowCount", nRecords + 2
    
            '***************************************
            'Save the results to a file.
            Open sOutXML For Output As #1
            Print #1, oResults.xml
            Close #1
    
            'Open the XML in Excel.
            Dim oExcel As Object
            Set oExcel = CreateObject("Excel.Application")
            oExcel.Workbooks.Open sOutXML
            oExcel.Visible = True
            oExcel.UserControl = True
            '***************************************
        End If
    					
    Poznámka: V prípade potreby upraviť pripojenie reťazec (Const sConn), tak že obsahuje správnu inštaláciu cestu k vzorke prístup Northwind databáza.
  4. Stlačením klávesu F5 na spustenie programu.
  5. Kliknite na Form1 tlačidlo. Údaje z objednávok Detail v šablóne zošita programu Excel sa zobrazí tabuľky v databáze Northwind aby ste si vytvorený.
Vzorka vytvára hárka XML a automatizuje Excel pomocou Otvorené metóda Zošity Zbierka otvoriť XML ako nový zošit. Ako alternatívu prístup, môžete priamo vložiť XML do existujúceho hárka na konkrétnu bunku. Na ilustráciu, nahradiť kód, ktorý sa nachádza medzi Hviezdičky takto:
        'Display the data in a workbook starting at cell B2.
        Dim oExcel As Object, oBook As Object
        Set oExcel = CreateObject("Excel.Application")
        Set oBook = oExcel.Workbooks.Add
        oBook.Worksheets(1).Range("B2").Resize(nRecords + 2, nFields + 1).Value(11) = _
            oResults.xml 'Note: xlRangeValueXMLSpreadsheet=11
        oExcel.Visible = True
        oExcel.UserControl = True
				
Po vykonaní tejto zmeny, spustite program znova. Všimnite si, že tento čas, údaje hárka XML je vložený do nového zošita začína v bunke B2 prvého pracovného hárka. Údaje buniek a formáty sú uplatnené v rozsahu; Avšak, použitie tohto prístupu, nastavenia špecifické pre riadky, stĺpce a pracovného hárka, a zošit nie sú prenesené.

Použite ASP na transformáciu XML pretrvával ADO záznamov vo formáte XML

  1. Prilepte nasledujúci kód do programu Poznámkový blok. Uložiť kód ako ExcelXML.asp v virtuálne koreňovom priečinku webového servera.Poznámka: Predvolený virtuálny koreňový priečinok je C:\inetpub\wwwroot.
    <%@ Language="vbscript"%>
    
    <%
    
        Const sConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\program files\microsoft office\office10\samples\Northwind.mdb"
        Const sXSL = "C:\ExcelXML\Orders.xsl"
        
        Response.Buffer = True
    
        'Retrieve an ADO recordset of the Orders Detail table in Northwind.
        Dim rs, nRecords
        Set rs = CreateObject("ADODB.Recordset")
        rs.Open "SELECT * FROM [Order Details]", sConn, 3, 3
            
        'Persist the recordset to a new DOMDocument and store the record count.
        Dim oXML
        Set oXML = CreateObject("Microsoft.XMLDOM")
        rs.Save oXML, 1
        nRecords = rs.RecordCount
        rs.Close
          
        'Load the XSL (the workbook template with XSL directives) into a DOMDocument.
        Dim oXSL
        Set oXSL = CreateObject("Microsoft.XMLDOM")
        oXSL.Load sXSL
        
        'Transform the XML using the style sheet.
        Dim oResults
        Set oResults = CreateObject("Microsoft.XMLDOM")
        oXML.transformNodeToObject oXSL, oResults
        
        If oXSL.parseError.errorCode <> 0 Then
           Response.Write "Parse Error: " & oResults.parseError.reason
        Else
    
           'Modify the ss:ExpandedRowCount attribute for the <table> node in the XSL.
            Dim oTable
            Set oTable = oResults.selectSingleNode("Workbook/Worksheet/Table")
            oTable.setAttribute "ss:ExpandedRowCount", nRecords + 2
    
            'Return the resulting XML Spreadsheet for display in Excel.
            Response.ContentType = "application/vnd.ms-excel"
            Response.Charset = "ISO-8859-1"
            Response.Write oResults.XML
            Response.Flush
    
        End If
    
    %>
    					
    Poznámka: V prípade potreby upraviť pripojenie reťazec (Const sConn), tak že obsahuje správnu inštaláciu cestu k vzorke prístup Northwind databáza.

  2. Spustite program Internet Explorer a prejdite na http://YourWebServer/ ExcelXML.asp, kde YourWebServer je názov webového servera. Údaje z objednávok Detail v šablóne zošita programu Excel sa zobrazí tabuľky v databáze Northwind aby ste si vytvorený.

Ďalšie poznámky

Nasledujúce funkcie programu Excel nemôžu zachovať s XML Formát tabuľky:
  • Grafy
  • OLE objekty
  • Kreslenie tvary alebo automatické tvary
  • Projekty VBA
  • Zoskupiť a sprehľadniť

Prevziať

XMLSpread.exe obsahuje šablóny so štýlmi XML, projektu programu Visual Basic, a ASP skript opísané v tomto článku. Nasledovný súbor je k dispozícii na prevzatie od Microsoft Download Centrum:
Zbaliť tento obrázokRozbaliť tento obrázok
Prevziať
Prevziať balík Xmlsprd.exe.Dátum vydania: 27. marca 2001

Ďalšie informácie o preberaní súborov technickej podpory spoločnosti Microsoft sa nachádzajú v nasledujúcom článku databázy Microsoft Knowledge Base:
119591 Získanie podporných súborov spoločnosti Microsoft zo služieb online
Tento súbor bol skontrolovaný antivírusovým programom spoločnosti Microsoft. Spoločnosť Microsoft použila pri kontrole tohto súboru najnovší antivírusový softvér, ktorý bol v čase jeho publikovania k dispozícii. Po publikovaní je súbor uložený na zabezpečených serveroch, ktoré neumožňujú neoprávnené zmeny súborov.

ODKAZY

Ďalšie informácie o ukladaní ADO skupín záznamov vo formáte XML formátovať, nájdete v nasledujúcej webovej lokalite Microsoft Developer Network (MSDN):
http://msdn2.Microsoft.com/en-us/library/ms681538.aspx
Ďalšie informácie o streamovanie obsahu MIME Microsoft Office aplikácie, po kliknutí na nasledovné číslo článku databázy Microsoft Knowledge Base:
266263Chyba: Word 2000 a Excel 2000 zobraziť ASP zdroj pri použití MIME typ prúd údajov
199841 Ako zobraziť ASP výsledky pomocou programu Excel v IE s MIME typy
271572 Ako formátovať zošit programu Excel zároveň streamovanie obsahu MIME
307021 Ako previesť údaje XML na program Microsoft Excel 2002 pomocou jazyka Visual Basic.NET

Vlastnosti

ID článku: 285891 - Posledná kontrola: 24. októbra 2011 - Revízia: 2.0
Informácie v tomto článku sa týkajú nasledujúcich produktov:
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Active Server Pages 4.0
  • Microsoft Visual Basic 6.0 Professional Edition
Kľúčové slová: 
kbdownload kbhowto kbmt KB285891 KbMtsk
Strojovo preložené
DÔLEŽITÉ: Tento článok bol preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft, nie prekladateľom. Spoločnosť Microsoft ponúka články preložené prekladateľmi aj strojovo preložené články, vďaka čomu máte možnosť prístupu ku všetkým článkom databázy Knowledge Base vo svojom jazyku. Strojovo preložený článok však nie je vždy perfektný. Môže obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky, podobne ako cudzinec môže robiť chyby, keď rozpráva vašim jazykom. Spoločnosť Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené akýmkoľvek nepresným prekladom obsahu alebo jeho použitím zo strany zákazníkov. Spoločnosť Microsoft softvér na strojový preklad pravidelne aktualizuje.
Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem:285891

Odošlite odozvu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com