Cara menggunakan ASP untuk membangun spreadsheet XML untuk klien-sisi layar

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 288130 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

Pada Halaman ini

RINGKASAN

Artikel ini menggambarkan Microsoft Active Server Pages (ASP) skrip yang membangun spreadsheet dalam format XML Spreadsheet (XMLSS) dengan menggunakan komponen solusi. XMLSS dapat ditampilkan di sisi klien dalam beberapa cara:
  • Dalam Spreadsheet komponen halaman Web
  • Di Microsoft Excel ditampilkan di tempat di browser
  • Dibuka secara langsung dalam Microsoft Excel

INFORMASI LEBIH LANJUT

Menggunakan Spreadsheet komponen dalam kode sisi server untuk membangun spreadsheet menyediakan lebih banyak skalabilitas dan kinerja yang lebih baik dibandingkan dengan menggunakan sisi server Otomatisasi dari Microsoft Excel. Kita lakukan tidak recomment otomatisasi Office aplikasi, termasuk Excel, di server. Metode ini harus dihindari ketika alternatif lain untuk mencapai hasil yang sama tersedia untuk Anda. XMLSS dapat bertahan banyak fitur umum untuk Spreadsheet komponen dan Microsoft Excel. Multi-sheet buku kerja, sel format, Autofilter, rumus sel dan re-calculation mewakili beberapa fitur tersebut. Komponen Spreadsheet telah memiliki model object yang erat sesuai model objek Microsoft Excel. Oleh karena itu, jika Anda sudah familiar dengan model objek Excel, Anda dengan mudah dapat menerapkan beberapa kode Excel yang ada, dengan modifikasi, untuk digunakan dengan komponen Spreadsheet.

Contoh berikut menunjukkan cara menghasilkan buku kerja multi-sheet di XMLSS menggunakan komponen Spreadsheet dengan ASP. Sampel juga membahas bagaimana Anda dapat menampilkan dihasilkan XMLSS-sisi klien halaman Web atau di Microsoft Excel.

ASP script untuk membangun XMLSS dengan menggunakan komponen Spreadsheet

Menyimpan ASP berikut sebagai XMLSS.asp dalam direktori akar virtual server Web Anda. Secara default, direktori root adalah 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

%>
				

Tampilan XMLSS halaman Web

Untuk menampilkan sampel XMLSS halaman Web, Anda harus hanya mengatur XMLURL properti untuk komponen Spreadsheet untuk URL untuk ASP, sebagai berikut:
<html>

<body>

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

</body>

</html>
				
Catatan Jika Anda menggunakan Microsoft Office 2003, Anda mungkin harus mengubah ClassID pada kode diatas sebagaimana berlaku.

Dalam HTML sebelumnya, XMLURL properti diatur dengan menggunakan <param> Tag. Anda juga dapat mengatur XMLURL properti pada saat run-time jika diinginkan, dengan menggunakan kode berikut.
   Spreadsheet1.XMLURL = "http://YourWebServer/xmlss.asp"
				

Tampilan XMLSS dalam Microsoft Excel

XMLSS yang dibuat dengan komponen Spreadsheet dapat dibuka di Microsoft Excel. Format dan fitur yang Anda menerapkan dalam Spreadsheet komponen dapat digunakan bersama dengan Microsoft Excel. Komponen Spreadsheet mendukung beberapa fitur yang Excel tidak. Selain itu, Excel mendukung beberapa fitur yang tidak komponen Spreadsheet. Tag XML atau atribut yang Excel tidak melaksanakan diabaikan ketika XMLSS dibuka.

Untuk melihat hasil sampel ASP script di Microsoft Excel, ikuti langkah berikut:
  1. Memulai Microsoft Excel.
  2. Pada Berkas menu, klik Terbuka.
  3. Dalam Nama Berkas kotak, jenis http://YourWebServer/xmlss.asp, lalu klik Terbuka.
Memeriksa buku kerja, dan perhatikan bahwa data dan format yang diterapkan pada jangka waktu yang semua hadir di buku kerja yang ketika dibuka di Excel. Ada satu pengecualian: keterangan pos yang dibuat dalam Spreadsheet komponen tidak membawa ke Excel karena ini adalah fitur komponen Spreadsheet Microsoft Excel tidak berbagi. Jika Anda membuat XMLSS dengan menggunakan Spreadsheet komponen dengan tujuan untuk menampilkan berkas di Excel, Sadarilah fitur yang berbeda bahwa masing-masing mendukung.

Cara lain untuk membuka XMLSS ASP dibuat di Microsoft Excel adalah untuk menyediakan jenis Excel serbaguna Internet Mail ekstensi (MIME) sebagai ContentType di ASP Anda. Ketika Anda menggunakan jenis Excel MIME dan browse ke ASP Anda, XMLSS dapat dituliskan dalam Microsoft Excel di tempat dalam browser. Untuk melakukannya, ikuti langkah-langkah berikut:
  1. Buka XMLSS.asp di sebuah editor teks.
  2. Mengubah baris berikut dalam naskah:
    Response.ContentType = "text/xml"
    					
    Mengubah baris kode untuk menyerupai yang berikut ini:
    Response.ContentType = "application/vnd.ms-excel"
    					
  3. Menyimpan perubahan ke XMLSS.asp, dan kemudian mulai Windows Internet Explorer.
  4. Browse ke http://YourWebServer/XMLSS.asp. XML Spreadsheet dituliskan dalam Microsoft Excel host di tempat dalam browser.

REFERENSI

Untuk informasi lebih lanjut, kunjungi Office Web Components topik pada Website Microsoft berikut:
http://support.microsoft.com/ofd
Untuk informasi selengkapnya, klik nomor artikel berikut ini untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
285891Cara menggunakan Visual Basic atau ASP untuk membuat spreadsheet XML untuk Excel 2002 dan Excel 2003
278976 Cara menggunakan XSL untuk mengubah spreadsheet Excel XML untuk sisi server digunakan
257757 Pertimbangan untuk otomatisasi Office sisi server

Properti

ID Artikel: 288130 - Kajian Terakhir: 23 September 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft Office Excel 2007
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Active Server Pages 4.0
Kata kunci: 
kbhowto kbofficewebspread kbmt KB288130 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:288130

Berikan Masukan

 

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