Jesteś obecnie w trybie offline. Czekamy na ponowne połączenie z Internetem.

Sposób użycia stron ASP do utworzenia arkusza kalkulacyjnego XML do wyświetlania po stronie klienta

WAŻNE: Ten artykuł nie został przetłumaczony przez człowieka, tylko przez oprogramowanie do tłumaczenia maszynowego firmy Microsoft. Firma Microsoft oferuje zarówno artykuły tłumaczone przez ludzi, jak i artykuły tłumaczone maszynowo, dzięki czemu każdy użytkownik może uzyskać dostęp do całej zawartości bazy wiedzy Knowledge Base we własnym języku. Prosimy jednak pamiętać, że artykuły przetłumaczone maszynowo nie zawsze są doskonałe. Mogą zawierać błędy słownictwa, składni i gramatyki, przypominające błędy robione przez osoby, dla których język użytkownika nie jest językiem ojczystym. Firma Microsoft nie odpowiada za wszelkie nieścisłości, błędy lub szkody spowodowane nieprawidłowym tłumaczeniem zawartości oraz za wykorzystanie tej zawartości przez klientów. Oprogramowanie do tłumaczenia maszynowego jest często aktualizowane przez firmę Microsoft.

Anglojęzyczna wersja tego artykułu to:288130
Streszczenie
W tym artykule przedstawiono skrypt Microsoft Active Server Pages (ASP), który tworzy arkusza kalkulacyjnego w formacie arkusza kalkulacyjnego XML (XMLSS) przy użyciu składnika Arkusz kalkulacyjny pakietu Office. XMLSS mogą być wyświetlane klienta w jednym na kilka sposobów:
  • W składniku Arkusz kalkulacyjny na stronie sieci Web
  • W programie Microsoft Excel wyświetlane w miejscu w przeglądarce
  • Otworzyć bezpośrednio w programie Microsoft Excel
Więcej informacji
Za pomocą składnika Arkusz kalkulacyjny kodu po stronie serwera do tworzenia arkuszy kalkulacyjnych zapewnia większą skalowalność i lepszą wydajność w porównaniu z użyciem po stronie serwera automatyzacji programu Microsoft Excel. Czy firma Microsoft nie recomment automatyzacji aplikacji pakietu Office, włącznie z programu Excel, na serwerze. Tej metody należy unikać, gdy dostępne są inne alternatywy dla osiągnięcia takich samych wyników. XMLSS może przetrwać wiele cech wspólnych składnik Arkusz kalkulacyjny i programu Microsoft Excel. Multi-Sheet skoroszytów, formatowanie komórek, Autofiltr, formuł i ponowne obliczenie stanowią niewielki podzbiór tych funkcji. Składnik Arkusz kalkulacyjny ma modelu obiektowego, zbliżony modelu obiektów programu Microsoft Excel. Dlatego Osoby zaznajomione z modelu obiektów programu Excel można łatwo zastosować niektóre istniejący kod programu Excel, modyfikacji do użytku składnika Arkusz kalkulacyjny.

Poniższy przykład ilustruje sposób generowania multi-sheet skoroszyt w XMLSS ASP przy użyciu składnika Arkusz kalkulacyjny. Próbki omówiono również sposób wyświetlania wyniku XMLSS klienta na stronie sieci Web lub w programie Microsoft Excel.

Skrypt ASP do budowania XMLSS przy użyciu składnika Arkusz kalkulacyjny

Z zastrzeżeniem następujących ASP XMLSS.asp w wirtualnym katalogu głównym serwera sieci Web. Domyślnie katalog główny to 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.EndFunction 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 = aOrderInfoEnd FunctionFunction GetProductIDs()    ReDim aPIDs(NumProds, 1)    For r = 0 To NumProds-1        aPIDs(r, 0) = r+1    Next    GetProductIDs = aPIDsEnd Function%>				

Wyświetlanie XMLSS na stronie sieci Web

Aby wyświetlić próbkę XMLSS na stronie sieci Web, należy tylko ustawić XMLURL Właściwość składnika Arkusz kalkulacyjny do adresu URL dla stron ASP, w następujący sposób:
<html><body><object classid="clsid:0002E551-0000-0000-C000-000000000046" id="Spreadsheet1">  <param name="XMLURL" value="http://YourWebServer/xmlss.asp"></object></body></html>				
Uwaga Jeśli używasz pakietu Microsoft Office 2003 może być konieczna zmiana Identyfikator klasy w kodzie powyżej, stosownie do przypadku.

W poprzednim kodzie HTML XMLURL Właściwość jest ustawiona za pomocą <param> tag. Można również ustawić XMLURL Właściwość w czasie wykonywania, jeśli to konieczne, przy użyciu następującego kodu.
   Spreadsheet1.XMLURL = "http://YourWebServer/xmlss.asp"				

Wyświetlanie XMLSS w programie Microsoft Excel

XMLSS, który jest tworzony składnik Arkusz kalkulacyjny można otworzyć w programie Microsoft Excel. Formatowanie i funkcje, które implementuje w arkuszu kalkulacyjnym mogą być udostępniane w programie Microsoft Excel. Składnik Arkusz kalkulacyjny obsługuje niektóre funkcje, które program Excel nie obsługuje. Ponadto program Excel obsługuje niektóre funkcje, które nie zawiera składnik Arkusz kalkulacyjny. Po otwarciu XMLSS, znaczniki XML lub atrybuty, które nie implementuje programu Excel są ignorowane.

Aby wyświetlić wyniki przykładowy skrypt ASP w programie Microsoft Excel, wykonaj następujące kroki:
  1. Uruchom program Microsoft Excel.
  2. Na Plik menu, kliknij przycisk Otwórz.
  3. W Nazwa pliku pole typu http://YourWebServer/XMLSS.asp, a następnie kliknij przycisk Otwórz.
Sprawdź skoroszyt i należy zauważyć, że dane i formaty, które były stosowane w czasie wykonywania wszystkich obecnych w skoroszycie podczas otwierania w programie Excel. Istnieje jeden wyjątek: podpisy nagłówka utworzone w składniku Arkusz kalkulacyjny nie przenoszenia do programu Excel, ponieważ jest to funkcja składnika Arkusz kalkulacyjny programu Microsoft Excel nie udostępnia. Jeśli XMLSS utworzone przy użyciu składnika Arkusz kalkulacyjny z wyświetleniem pliku w programie Excel, należy pamiętać o różnych funkcji każdy obsługuje.

Innym sposobem otwarcia XMLSS ASP tworzone w programie Microsoft Excel jest dostarczanie typu Excel Multipurpose Internet Mail Extensions (MIME) jako Właściwość ContentType w ASP. Podczas używania typu MIME w programie Excel i przejdź do programu ASP XMLSS może być renderowana w programie Microsoft Excel w miejscu w przeglądarce. Aby to zrobić, wykonaj następujące kroki:
  1. XMLSS.asp Otwórz w edytorze tekstu.
  2. Zmień następujący wiersz w pliku skryptu:
    Response.ContentType = "text/xml"					
    Zmień wiersz kodu podobne do następujących:
    Response.ContentType = "application/vnd.ms-excel"					
  3. Zapisać zmiany w XMLSS.asp, a następnie uruchom program Windows Internet Explorer.
  4. Przejdź do http://YourWebServer/XMLSS.asp. Arkusz kalkulacyjny XML jest renderowane w obsługiwanej w programie Microsoft Excel w miejscu w przeglądarce.
Materiały referencyjne
Więcej informacji na ten temat można znaleźć w temacie Składniki Office Web Components w następującej witrynie firmy Microsoft w sieci Web:Aby uzyskać więcej informacji kliknij następujące numery artykułów w celu wyświetlenia tych artykułów z bazy wiedzy Microsoft Knowledge Base:
285891Jak utworzyć arkusz kalkulacyjny XML dla programu Excel 2002 i Excel 2003 za pomocą języka Visual Basic lub ASP
278976 Jak używać arkusza kalkulacyjnego XML programu Excel do użycia po stronie serwera Przekształcenie XSL
257757 Zagadnienia dotyczące po stronie serwera automatyzacji pakietu Office
XL2003 XL2007

Ostrzeżenie: ten artykuł przetłumaczono automatycznie

Właściwości

Identyfikator artykułu: 288130 — ostatni przegląd: 06/22/2011 06:36:00 — zmiana: 2.0

Microsoft Office Excel 2007, Microsoft Excel 2002 Standard Edition, Microsoft Active Server Pages 4.0

  • kbhowto kbofficewebspread kbmt KB288130 KbMtpl
Opinia
pendChild(m);