İstemci tarafında görüntüleme için XML biçiminde elektronik tablo oluşturulurken ASP nasıl kullanılır

Makale çevirileri Makale çevirileri
Makale numarası: 288130 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

Özet

Bu makalede, Office Elektronik Tablo Bileşeni'ni kullanarak, elektronik tablonun XML elektronik tablosu (XMLSS) biçiminde oluşturur Microsoft Active Server Pages (ASP) komut dosyası gösterilmektedir. XMLSS birkaç yoldan biriyle görüntülenen istemci tarafında olabilir:
  • Bir Web sayfasında elektronik tablo bileşeninin
  • Microsoft Excel'in gösterilen yerinde tarayıcı
  • Doğrudan Microsoft Excel'de açılır.

Daha fazla bilgi

Elektronik Tablo bileşeni, elektronik tabloları oluşturmak için sunucu tarafı kod kullanarak, daha fazla Microsoft Excel, sunucu tarafında Otomasyon kullanmaya kıyasla daha iyi performans ve ölçeklenebilirlik sağlar. Biz, Excel, sunucuda dahil değil recomment Office Otomasyonu uygulamaları yapın. Bu yöntem, aynı sonuçları sağlandığı için diğer seçenekler için kullanılabilir olduğunda kaçınılmalıdır. XMLSS hem de elektronik tablo bileşeni ve Microsoft Excel için genel özelliklerin geçerli. Bu özellikler, bazı, Multi-Sheet çalışma kitaplarını, hücre biçimlendirme, otomatik filtre, Hücre formüllerini ve re-calculation temsil eder. Elektronik Tablo bileşeni, nesne modeli, Microsoft Excel için yakın eşleşen nesne modeli vardır. Excel nesne modeliyle biliyorsanız, bu nedenle, kolayca bazı varolan Excel kodunuzu, elektronik tablo bileşeni ile kullanmak için değişikliği uygulayabilirsiniz.

Aşağıdaki örnek, elektronik tablo bileşeni, ASP ile kullanma XMLSS multi-sheet bir çalışma kitabı oluşturmak gösterilmiştir. Web sayfasına veya Microsoft Excel'de sonuç XMLSS istemci-tarafı nasıl görüntüleyebilir, örnek de anlatılır.

ASP komut dosyası, Elektronik Tablo Bileşeni'ni kullanarak XMLSS oluşturmak için

Aşağıdaki ASP, Web sunucunuz sanal kök dizinde XMLSS.asp kaydedin. Varsayılan olarak, C:\inetpub\wwwroot kök dizinidir.
<% 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

%>
				

XMLSS Web sayfasında görüntüler.

XMLSS örnek bir Web sayfası üzerinde görüntülemek için <a0></a0>, yalnızca XMLURL özelliği URL'ye elektronik tablo bileşeni için ASP için aşağıdaki şekilde ayarlamanız gerekir:
<html>

<body>

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

</body>

</html>
				
Not Microsoft Office 2003 kullanıyorsanız, yukarıdaki koduna uygun olarak SınıfKimliği değiştirmeniz gerekebilir.

Önceki HTML biçiminde bir <param>kullanarak XMLURL bu özelliğin ayarlanması etiketi. Çalışma zamanında aşağıdaki kodu kullanarak isterseniz, XMLURL özelliğini ayarlayabilirsiniz.
   Spreadsheet1.XMLURL = "http://YourWebServer/xmlss.asp"
				

Microsoft Excel'de XMLSS görüntüleme

Microsoft Excel'de, elektronik tablo bileşeni ile oluşturulan XMLSS açılabilir. Biçimlendirmeleri ve özellikleri elektronik tablo bileşeninin uygulamak için Microsoft Excel'le paylaşılabilir. Elektronik Tablo bileşeni, Excel'in yapan bazı özelliklerini destekler. Ayrıca, Excel, elektronik tablo bileşeninin yapan bazı özelliklerini destekler. XMLSS açıldığında, herhangi bir XML etiketleri veya Excel'in değil uygulamak öznitelikleri göz ardı edilir.

Microsoft Excel'de, örnek ASP komut dosyası sonuçlarını görüntülemek için <a0></a0>, aşağıdaki adımları izleyin:
  1. Microsoft Excel'i başlatın.
  2. Dosya menüsünden ' ı tıklatın.
  3. Dosya adı kutusuna, http://YourWebServer/xmlss.asp yazın ve sonra da ' ı tıklatın.
Çalışma kitabını inceleyin ve Excel'de açıldığında verileri ve çalışma zamanında uygulanan biçimleri çalışma kitabındaki tüm bulunduğunu unutmayın. Bir istisna vardır: çünkü bu özelliği değil paylaşan Microsoft Excel elektronik tablo bileşeni elektronik tablo bileşeniyle oluşturulan başlık başlıkları Excel'e gerçekleştirmek değil. Dosyayı Excel'de görüntülemek amacıyla, Elektronik Tablo Bileşeni'ni kullanarak XMLSS oluşturursanız, farklı özellikleri unutmayın her destekler.

ASP tarafından oluşturulan XMLSS Microsoft Excel'de açmak için başka bir Excel çok amaçlı ınternet Posta Uzantıları (MIME) türü olarak, ASP ContentType vermesini yoludur. Excel MIME türünü kullanmak için ASP göz, Microsoft Excel'in yerinde tarayıcıda bulunan XMLSS işlenip. Bunu yapmak için şu adımları izleyin:
  1. XMLSS.asp bir metin düzenleyicisinde açın.
  2. Komut dosyasında aşağıdaki satırı değiştirin:
    Response.ContentType = "text/xml"
    					
    , aşağıdakine benzer bir kod satırı değiştirin:
    Response.ContentType = "application/vnd.ms-excel"
    					
  3. XMLSS.asp için yaptığınız değişiklikleri kaydedin ve sonra Windows ınternet Explorer'ı başlatın.
  4. Http://YourWebServer/XMLSS.ASP için göz atın. XML elektronik tablo, Microsoft Excel'in barındırılan yerinde tarayıcıda oluşturulur.

Referanslar

Daha fazla bilgi için Office Web bileşenleri konu aşağıdaki Microsoft Web sitesini ziyaret edin:
http://support.microsoft.com/ofd
Daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleleri görüntülemek üzere aşağıdaki makale numaralarını tıklatın:
285891Excel 2002 ve Excel 2003, XML elektronik tablo oluşturmak için Visual Basic'in veya bir ASP kullanma
278976Sunucu tarafı kullanım için Excel XML elektronik tabloya dönüştürmek için XSL nasıl kullanılır
257757Sunucu tarafında Office Otomasyonu ile ilgili konular

Özellikler

Makale numarası: 288130 - Last Review: 14 Mayıs 2007 Pazartesi - Gözden geçirme: 5.2
Bu makaledeki bilginin uygulandığı durum:
  • 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
Anahtar Kelimeler: 
kbmt kbhowto kbofficewebspread KB288130 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:288130

Geri Bildirim Ver

 

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