Ako používať ASP vybudovať tabuľky XML na strane klienta displej

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

Na tejto stránke

SUHRN

Tento článok vysvetľuje Microsoft stránok ASP (Active Server) skript, ktorý vytvorí hárok vo formáte tabuľky XML (XMLSS) pomocou súčasti Office Spreadsheet. XMLSS môže byť zobrazený klientske niekoľkými spôsobmi:
  • V súčasť hárok na webovej stránke
  • Program Microsoft Excel zobrazuje v mieste v prehliadači
  • Otvoriť priamo v programe Microsoft Excel

DALSIE INFORMACIE

Použitím súčasti hárok server-bočné kód vybudovať tabuľky poskytuje viac škálovateľnosť a lepší výkon v porovnaní s použitím server-bočné automatizačné programu Microsoft Excel. My nie recomment automatizácie kancelárie aplikácií vrátane Excel na serveri. Táto metóda sa vystríhať keď iné alternatívy na dosiahnutie rovnaké výsledky sú vám k dispozícii. XMLSS môže pretrvávať mnohé vlastnosti spoločné pre súčasť hárok a Microsoft Excel. Viacstránkové zošity, formátovanie buniek, Automatický filter, vzorce buniek a prepočítanie predstavujú hŕstka týchto funkcií. Súčasť hárok má objektový model, ktorý sa najviac zhoduje objektový model programu Microsoft Excel. Preto, ak ste oboznámení s objektovým modelom programu Excel, môžete jednoducho použiť niektoré z vašich existujúcich Excel kód s modifikácii, pre použitie s súčasť hárok.

Tieto vzorky preukáže ako generovať viac-hárkové zošita v XMLSS použitím súčasti hárok s ASP. Vzorky sa tiež zaoberá, ako môžete zobraziť výsledné XMLSS klientske na webovej stránke alebo v programe Microsoft Excel.

ASP skript vybudovať XMLSS pomocou súčasť hárok

Uložiť nasledovné ASP ako XMLSS.asp virtuálne koreňového adresára webového servera. V predvolenom nastavení koreňového adresára je C:\inetpub\wwwroot.
<% Language=VBScript %>

<%
    Response.Buffer = True
    Response.ContentType = "text/xml"

    Dim NumOrders, NumProds, r
    NumOrders = 300
    NumProds = 10
        
    Dim oSS
    Dim oOrdersSheet
    Dim oTotalsSheet
    Dim oRange
    Dim c
    
    Set oSS = CreateObject("OWC10.Spreadsheet")
    Set c = oSS.Constants

    'Rename Sheet1 to "Orders", rename Sheet2 to "Totals" and remove Sheet3
    Set oOrdersSheet = oSS.Worksheets(1)
    oOrdersSheet.Name = "Orders"
    Set oTotalsSheet = oSS.Worksheets(2)
    oTotalsSheet.Name = "Totals"
    oSS.Worksheets(3).Delete
    
    '=== Build the First Worksheet (Orders) ==============================================
        
    'Add headings to A1:F1 of the Orders worksheet and apply formatting
    Set oRange = oOrdersSheet.Range("A1:F1")
    oRange.Value = Array("Order Number", "Product ID", "Quantity", "Price", "Discount", "Total")
    oRange.Font.Bold = True
    oRange.Interior.Color = "Silver"
    oRange.Borders(c.xlEdgeBottom).Weight = c.xlThick
    oRange.HorizontalAlignment = c.xlHAlignCenter
   
    'Apply formatting to the columns
    oOrdersSheet.Range("A:A").ColumnWidth = 20
    oOrdersSheet.Range("B:E").ColumnWidth = 15
    oOrdersSheet.Range("F:F").ColumnWidth = 20
    oOrdersSheet.Range("A2:E" & NumOrders + 1 _
        ).HorizontalAlignment = c.xlHAlignCenter
    oOrdersSheet.Range("D2:D" & NumOrders + 1).NumberFormat = "0.00"
    oOrdersSheet.Range("E2:E" & NumOrders + 1).NumberFormat = "0 % "
    oOrdersSheet.Range("F2:F" & NumOrders + 1).NumberFormat = "$ 0.00" '"_($* #,##0.00_)"
        
    'Obtain the order information for the first five columns in the Orders worksheet
    'and populate the worksheet with that data starting at row 2
    Dim aOrderData
    aOrderData = GetOrderInfo
    oOrdersSheet.Range("A2:E" & NumOrders + 1).Value = aOrderData
    
    'Add a formula to calculate the order total for each row and format the column
    oOrdersSheet.Range("F2:F" & NumOrders + 1).Formula = "=C2*D2*(1-E2)"
        oOrdersSheet.Range("F2:F" & NumOrders + 1).NumberFormat = "_(  $* #,##0.00   _)"

    'Apply a border to the used rows
    oOrdersSheet.UsedRange.Borders(c.xlInsideHorizontal).Weight = c.xlThin
    oOrdersSheet.UsedRange.BorderAround , c.xlThin, 15
    
    'Turn on AutoFilter and display an initial criteria where
    'the Product ID (column 2) is equal to 5
    oOrdersSheet.UsedRange.AutoFilter
    oOrdersSheet.AutoFilter.Filters(2).Criteria.FilterFunction = c.ssFilterFunctionInclude
    oOrdersSheet.AutoFilter.Filters(2).Criteria.Add "5"
    oOrdersSheet.AutoFilter.Apply
    
    'Add a Subtotal at the end of the usedrange
    oOrdersSheet.Range("F" & NumOrders + 3).Formula = "=SUBTOTAL(9, F2:F" & NumOrders + 1 & ")"
    
    'Apply window settings for the Orders worksheet
    oOrdersSheet.Activate   'Makes the Orders sheet active
    oSS.Windows(1).ViewableRange = oOrdersSheet.UsedRange.Address
    oSS.Windows(1).DisplayRowHeadings = False
    oSS.Windows(1).DisplayColumnHeadings = False
    oSS.Windows(1).FreezePanes = True
    oSS.Windows(1).DisplayGridlines = False
    
    '=== Build the Second Worksheet (Totals) ===========================================
    
    'Change the Column headings and hide row headings
    oTotalsSheet.Activate
    oSS.Windows(1).ColumnHeadings(1).Caption = "Product ID"
    oSS.Windows(1).ColumnHeadings(2).Caption = "Total"
    oSS.Windows(1).DisplayRowHeadings = False
    
    'Add the product IDs to column 1
    Dim aProductIDs
    aProductIDs = GetProductIDs
    oTotalsSheet.Range("A1:A" & NumProds).Value = aProductIDs
    oTotalsSheet.Range("A1:A" & NumProds).HorizontalAlignment = c.xlHAlignCenter

    'Add a formula to column 2 that computes totals per product from the Orders Sheet
    oTotalsSheet.Range("B1:B" & NumProds).Formula = _
        "=SUMIF(Orders!B$2:B$" & NumOrders + 1 & ",A1,Orders!F$2:F$" & NumOrders + 1 & ")"
    oTotalsSheet.Range("B1:B" & NumProds).NumberFormat = "_(  $* #,##0.00   _)"

    'Apply window settings for the Totals worksheet
    oSS.Windows(1).ViewableRange = oTotalsSheet.UsedRange.Address
    
    '=== Setup for final presentation ==================================================
    
    oSS.DisplayToolbar = False
    oSS.AutoFit = True
    oOrdersSheet.Activate

    Response.Write oSS.XMLData
    Response.End


Function GetOrderInfo()
    ReDim aOrderInfo(NumOrders,5)
    Dim aPrice, aDisc
    aPrice = Array(10.25, 9.5, 2.34, 6.57, 9.87, 4.55, 6, 13.05, 3.3, 5.5)
    aDisc = Array(0, 0.1, 0.15, 0.2)
    For r = 0 To NumOrders-1
        aOrderInfo(r, 0) = "'" & String(7-Len(CStr(r+1)), "0") & r+1 'Col 1 is Order Number
        aOrderInfo(r, 1) = Int(Rnd() * NumProds) + 1                 'Col 2 is Product ID
        aOrderInfo(r, 2) = Int(Rnd() * 20) + 1                       'Col 3 is Quantity
        aOrderInfo(r, 3) = aPrice(aOrderInfo(r, 1)-1)                'Col 4 is Price
        aOrderInfo(r, 4) = aDisc(Int(Rnd() * 4))                     'Col 5 is Discount
    Next
    GetOrderInfo = aOrderInfo
End Function

Function GetProductIDs()
    ReDim aPIDs(NumProds, 1)
    For r = 0 To NumProds-1
        aPIDs(r, 0) = r+1
    Next
    GetProductIDs = aPIDs
End Function

%>
				

Zobrazenie XMLSS na webovej stránke

Na zobrazenie vzorky XMLSS na webovú stránku, musíte len nastaviť XMLURL Vlastnosť pre súčasť hárok na URL pre ASP, takto:
<html>

<body>

<object classid="clsid:0002E551-0000-0000-C000-000000000046" id="Spreadsheet1">
  <param name="XMLURL" value="http://YourWebServer/xmlss.asp">
</object>

</body>

</html>
				
Poznámka: Ak používate balík Microsoft Office 2003, budete musieť zmeniť classid v kódexe vyššie ako je uplatniteľné.

V predchádzajúcom HTML, XMLURL vlastnosť nastavená pomocou <param> Tag. Môžete tiež nastaviť XMLURL nehnuteľnosti na run-time v prípade potreby pomocou nasledujúci kód.
   Spreadsheet1.XMLURL = "http://YourWebServer/xmlss.asp"
				

Zobrazenie XMLSS v programe Microsoft Excel

XMLSS, ktorý je vytvorený s súčasť hárok je možné otvoriť v programe Microsoft Excel. Formátovanie a funkcie, ktoré implementujete v súčasť hárok môžu byť zdieľané s programom Microsoft Excel. Súčasť hárok podporuje niektoré funkcie, ktoré program Excel nepodporuje nie. Okrem toho program Excel podporuje niektoré funkcie, ktoré súčasť hárok nepodporuje. Všetky značky XML alebo atribúty, ktoré program Excel neimplementuje sú ignorované XMLSS otvorení.

Ak chcete zobraziť výsledky vzorky ASP skriptu v programe Microsoft Excel, postupujte nasledovne:
  1. Spustite program Microsoft Excel.
  2. Na Súbor ponuky, kliknite na tlačidlo Otvorené.
  3. V Názov súboru zadajte http://YourWebServer/XMLSS.asp, a potom kliknite na tlačidlo Otvorené.
Preskúma zošita a Všimnite si, že údaje a formáty, ktoré sa použili v čase spustenia sú všetky prítomné v zošite otvorení v programe Excel. Existuje jedna výnimka: nadpis popisy, ktoré sú vytvorené v súčasť hárok nie preniesť do programu Excel pretože toto je funkcia pre súčasti hárok programu Microsoft Excel nezdieľa. Ak vytvoríte XMLSS použitím súčasti hárok na zobrazenie súboru v programe Excel, byť vedomí rôzne funkcie každého podporuje.

Ďalší spôsob otvorenia XMLSS ASP vytvorené v programe Microsoft Excel je dodávať Excel Multipurpose Internet Mail Extensions (MIME) typu ako ContentType v vaša ASP. Keď použijete program Excel MIME typ a vyhľadajte vaše ASP, XMLSS môžete poskytnutých v programe Microsoft Excel v mieste v prehľadávači. Použite tento postup:
  1. Otvoriť XMLSS.asp v textovom editore.
  2. Zmena nasledujúci riadok v skripte:
    Response.ContentType = "text/xml"
    					
    Zmeniť riadok kódu podobajú takto:
    Response.ContentType = "application/vnd.ms-excel"
    					
  3. Uložte zmeny na XMLSS.asp a potom spustite program Windows Internet Explorer.
  4. Prejdite na http://YourWebServer/XMLSS.asp. Tabuľky XML je vydaný v program Microsoft Excel hostil na mieste v prehľadávači.

ODKAZY

Pre viac informácií, navštívte súčasti Office Web Components tému na nasledovnú webovú lokalitu spoločnosti Microsoft:
http://support.Microsoft.com/ofd
Ďalšie informácie zobrazíte kliknutím na nasledujúce čísla článkov databázy Microsoft Knowledge Base:
285891Ako používať Visual Basic alebo ASP vytvoriť vo formáte XML pre program Excel 2002 a Excel 2003
278976 Ako používať XSL transformovať hárka programu Excel XML na server-bočné použitie
257757 Úvah pre server-bočné automatizačné Office

Vlastnosti

ID článku: 288130 - Posledná kontrola: 24. októbra 2011 - Revízia: 2.0
Informácie v tomto článku sa týkajú nasledujúcich produktov:
  • Microsoft Office Excel 2007
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Active Server Pages 4.0
Kľúčové slová: 
kbhowto kbofficewebspread kbmt KB288130 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:288130

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