Použití skriptů ASP k vytvoření sešitu XML pro zobrazení na straně klienta (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)

Překlady článku Překlady článku
ID článku: 288130 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Tento článek ukazuje skriptu Microsoft Active Server Pages (ASP) vytvoří tabulky ve formátu Tabulka XML (XMLSS) pomocí komponenty Tabulka Office. XMLSS lze zobrazeného straně klienta v několika způsoby:
  • V komponenty Tabulka na webové stránce
  • Uzavřený zobrazené v-místě v prohlížeči
  • Otevřít v aplikaci Microsoft Excel

Další informace

Použití komponenty Tabulka v kódu na straně serveru k vytvoření tabulek obsahuje další škálovatelnost a lepší výkon porovnání pomocí automatizace straně serveru z aplikace Microsoft Excel. Doporučujeme provést není recomment automatizace systému Office aplikací, včetně Excel, na serveru. Tato metoda měli vyhnout při další alternativy pro dosažení stejných výsledků jsou k dispozici. XMLSS může přetrvávat mnoho funkcí běžné komponenty Tabulka a Microsoft Excel. Multi-Sheet sešity, formátování buněk, automatický filtr, vzorce buňky a přepočet představují handful tyto funkce. Komponenta Tabulka má objektový model, který odpovídá úzce modelu objektu pro aplikaci Microsoft Excel. Proto pokud jste obeznámeni s Excel objektový model, můžete snadno použít některé vaše existující Excel kód s změny pro použití s komponenty Tabulka.

Následující příklad znázorňuje způsob generování multi-sheet sešitu v XMLSS používání komponenty Tabulka s ASP. Ukázkové také popisuje zobrazit výsledné XMLSS-straně klienta na webové stránce nebo v aplikaci Microsoft Excel.

Skript ASP k sestavení XMLSS pomocí komponenty Tabulka

Uložit následující ASP jako XMLSS.asp virtuálního kořenového adresáře serveru WWW. Ve výchozím nastavení je kořenový adresář 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

%>
				

Zobrazit na webové stránce XMLSS

Chcete-li zobrazit ukázkový XMLSS na webové stránce, musíte pouze nastavit vlastnost XMLURL pro komponenty Tabulka na adresu URL pro ASP, způsobem:
<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 Pokud používáte Microsoft Office 2003, může mít změna classid v výše kódu jako použitelná.

V předchozím HTML XMLURL vlastnost nastavit pomocí <param> značku. Při spuštění v případě potřeby pomocí následující kód může také nastavit vlastnost XMLURL.
   Spreadsheet1.XMLURL = "http://YourWebServer/xmlss.asp"
				

V aplikaci Microsoft Excel zobrazit XMLSS

XMLSS je vytvořen s komponenty Tabulka lze otevřít v aplikaci Microsoft Excel. Formátování a funkce implementovat v komponenty Tabulka může být sdílena s aplikací Microsoft Excel. Komponenta Tabulka podporuje některé funkce Excel nepodporuje. Navíc aplikace Excel podporuje některé funkce součást Tabulka nepodporuje. Značky XML nebo Excel neimplementuje atributy jsou ignorovány, při otevření XMLSS.

Chcete-li zobrazit výsledky ukázkový skript ASP v aplikaci Microsoft Excel, postupujte takto:
  1. Spuštění aplikace Microsoft Excel.
  2. V nabídce soubor klepněte na tlačítko Otevřít.
  3. V poli Název souboru zadejte http://YourWebServer/xmlss.asp a potom klepněte na tlačítko Otevřít.
Prozkoumejte sešitu a Všimněte si, že data a formáty, které byly použity v době spuštění jsou všechny přítomen v sešitu při otevření v aplikaci Excel. Existuje jedna výjimka: Tato záhlaví titulky, které jsou vytvořeny komponenty Tabulka převodníky apl.Excel protože tato funkce komponenty Tabulka uzavřený nesdílí je. Pokud vytvoříte XMLSS komponenty Tabulka z důvodu zobrazením souboru v aplikaci Excel, uvědomte různých funkcí každý podporuje.

Jiným způsobem otevřít XMLSS ASP vytvořen v aplikaci Microsoft Excel je dodat typ Excel Multipurpose Internet Mail Extensions (MIME) jako ContentType ve vaší ASP. Při použití typu Excel MIME a procházet vaše ASP mohou být XMLSS vykreslen uzavřený v-místě v prohlížeči. Postupujte takto:
  1. V textovém editoru otevřete XMLSS.asp.
  2. Změnit ve skriptu následující řádek:
    Response.ContentType = "text/xml"
    					
    změnit řádek kódu vypadat následující:
    Response.ContentType = "application/vnd.ms-excel"
    					
  3. Uložte změny XMLSS.asp a spusťte aplikaci Windows Internet Explorer.
  4. Procházet http://YourWebServer/XMLSS.asp. Tabulka XML je vykreslen uzavřený hostitelem v-místě v prohlížeči.

Odkazy

Další informace naleznete na následující web tématu Office Web Components:
http://support.microsoft.com/ofd
Další informace naleznete v následujících článcích znalostní báze Microsoft Knowledge Base:
285891Použití jazyka nebo ASP k vytvoření tabulky XML pro aplikaci Excel 2002 a Excel 2003
278976Jak použít XSL k transformaci tabulku Excel XML pro použití na straně serveru
257757Důležité informace týkající se automatizace systému Office na straně serveru

Vlastnosti

ID článku: 288130 - Poslední aktualizace: 14. května 2007 - Revize: 5.2
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Office 2003 Web Components
  • Microsoft Office XP Web Components
  • Microsoft Office Excel 2007
  • Microsoft Office Excel 2003
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Active Server Pages 4.0
Klíčová slova: 
kbmt kbhowto kbofficewebspread KB288130 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:288130

Dejte nám zpětnou vazbu

 

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