Με τον τρόπο χρήσης των ASP για να δημιουργήσετε το υπολογιστικό φύλλο XML για εμφάνιση μέσω υπολογιστή-πελάτη

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 288130 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
Ανάπτυξη όλων | Σύμπτυξη όλων

Σε αυτήν τη σελίδα

Περίληψη

Αυτό το άρθρο παρουσιάζει δέσμης ενεργειών Microsoft ενεργών σελίδων διακομιστή (ASP) που δημιουργεί ένα υπολογιστικό φύλλο σε μορφή υπολογιστικού φύλλου XML (XMLSS), χρησιμοποιώντας το στοιχείο υπολογιστικού φύλλου του Office. Το XMLSS μπορεί να εμφανίζεται-πελάτη με διάφορους τρόπους:
  • Το στοιχείο υπολογιστικού φύλλου σε μια ιστοσελίδα
  • Στο Microsoft Excel εμφανίζεται επί τόπου στο πρόγραμμα περιήγησης
  • Άνοιγμα απευθείας στο Microsoft Excel

Περισσότερες πληροφορίες

Χρησιμοποιώντας το στοιχείο υπολογιστικού φύλλου σε κώδικα διακομιστή για τη δημιουργία υπολογιστικών φύλλων παρέχει περισσότερες δυνατότητες κλιμάκωσης και καλύτερη απόδοση σε σύγκριση με τη χρήση του διακομιστή αυτοματοποίησης του Microsoft Excel. Μπορούμε να κάνουμε δεν recomment αυτοματοποίησης των εφαρμογών του Office, συμπεριλαμβανομένου του Excel, στο διακομιστή. Αυτή η μέθοδος θα πρέπει να αποφεύγονται όταν άλλες εναλλακτικές λύσεις για να επιτύχετε τα ίδια αποτελέσματα είναι διαθέσιμα σε εσάς. XMLSS να παραμένουν πολλές από τις δυνατότητες που είναι κοινές για το στοιχείο υπολογιστικού φύλλου και το Microsoft Excel. MULTI-Sheet βιβλία εργασίας, μορφοποίηση κελιών, αυτόματου φίλτρου, τύπους κελιών και re-calculation αντιπροσωπεύουν μια μερικές από αυτές τις δυνατότητες. Το στοιχείο υπολογιστικού φύλλου έχει ένα μοντέλο αντικειμένου που ταιριάζει με το μοντέλο αντικειμένου για το Microsoft Excel. Επομένως, εάν είστε εξοικειωμένοι με το μοντέλο αντικειμένου του Excel, μπορείτε εύκολα εφαρμόσετε ορισμένες από τις υπάρχουσες Excel κώδικά σας, με τροποποίηση, για χρήση με το στοιχείο υπολογιστικού φύλλου.

Το ακόλουθο δείγμα δείχνει τον τρόπο δημιουργίας ενός βιβλίου εργασίας multi-sheet στο XMLSS χρησιμοποιώντας το στοιχείο υπολογιστικού φύλλου με τις ASP. Το δείγμα εξετάζει επίσης πώς μπορείτε να εμφανίσετε το που προκύπτει XMLSS πλευράς προγράμματος-πελάτη σε μια ιστοσελίδα ή στο Microsoft Excel.

Δέσμη ενεργειών ASP για την κατασκευή XMLSS, χρησιμοποιώντας το στοιχείο υπολογιστικού φύλλου

Αποθηκεύστε το ακόλουθο ASP ως XMLSS.asp στον εικονικό ριζικό κατάλογο του διακομιστή σας Web. Από προεπιλογή, ο ριζικός κατάλογος είναι 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

%>
				

Εμφανίσετε το XMLSS σε μια ιστοσελίδα

Για να εμφανίσετε το δείγμα XMLSS σε μια ιστοσελίδα, πρέπει να ορίσετε μόνο τηνXMLURLη ιδιότητα για ένα στοιχείο υπολογιστικού φύλλου για τη διεύθυνση URL για τις σελίδες ASP, ως εξής:
<html>

<body>

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

</body>

</html>
				
ΣΗΜΕΙΩΣΗΕάν χρησιμοποιείτε το Microsoft Office 2003, ίσως χρειαστεί να αλλάξετε τοClassIDστον παραπάνω κώδικα ανάλογα με την περίπτωση.

Στο προηγούμενο HTML, τοXMLURLη ιδιότητα ορίζεται χρησιμοποιώντας ένα<param>η ετικέτα. Μπορείτε επίσης να ορίσετε τοXMLURLη ιδιότητα στο χρόνο εκτέλεσης εάν το επιθυμείτε, χρησιμοποιώντας τον παρακάτω κώδικα.
   Spreadsheet1.XMLURL = "http://YourWebServer/xmlss.asp"
				

Εμφάνιση του XMLSS στο Microsoft Excel

Μπορεί να ανοίξει το XMLSS που δημιουργείται με το στοιχείο υπολογιστικού φύλλου στο Microsoft Excel. Τη μορφοποίηση και δυνατότητες που μπορείτε να εφαρμόσετε στο στοιχείο υπολογιστικού φύλλου μπορεί να χρησιμοποιηθεί από κοινού με το Microsoft Excel. Το στοιχείο υπολογιστικού φύλλου υποστηρίζει ορισμένες δυνατότητες που δεν το Excel υποστηρίζει. Επιπλέον, το Excel υποστηρίζει ορισμένες δυνατότητες που δεν το υποστηρίζει το στοιχείο υπολογιστικού φύλλου. Οποιεσδήποτε ετικέτες XML ή χαρακτηριστικά που δεν υλοποιεί το Excel αγνοούνται όταν ανοίγεται το XMLSS.

Για να προβάλετε τα αποτελέσματα του δείγματος δέσμης ενεργειών ASP στο Microsoft Excel, ακολουθήστε τα εξής βήματα:
  1. Ξεκινήστε το Microsoft Excel.
  2. Στο διακομιστήFILEμενού, κάντε κλικ στο κουμπίOpen.
  3. ΣτοΌνομα αρχείουπληκτρολογήστεhttp://YourWebServer/XMLSS.asp, και στη συνέχεια κάντε κλικ στο κουμπίOpen.
Εξετάστε το βιβλίο εργασίας και Σημειώστε ότι τα δεδομένα και τις μορφοποιήσεις που εφαρμόστηκαν κατά το χρόνο εκτέλεσης παρουσιάζονται όλες τις στο βιβλίο εργασίας κατά το άνοιγμα στο Excel. Υπάρχει μία εξαίρεση: οι λεζάντες επικεφαλίδα που δημιουργούνται με το στοιχείο υπολογιστικού φύλλου δεν φέρουν στο Excel επειδή αυτή είναι μια δυνατότητα του στοιχείου υπολογιστικού φύλλου που το Microsoft Excel δεν κάνει κοινή χρήση. Αν δημιουργείτε XMLSS, χρησιμοποιώντας το στοιχείο υπολογιστικού φύλλου για τους σκοπούς της εμφανίζει το αρχείο στο Excel, πρέπει να γνωρίζετε τις διαφορετικές δυνατότητες κάθε υποστηρίζει.

Ένας άλλος τρόπος να ανοίξετε XMLSS ASP που έχουν δημιουργηθεί στο Microsoft Excel είναι η παροχή του τύπου πολλαπλών χρήσεων Internet Mail Extensions (MIME) Excel με τοContentTypeσε σελίδες σας ASP. Όταν χρησιμοποιείτε τον τύπο MIME στο Excel και κάντε αναζήτηση του ASP, το XMLSS να θα αποδοθούν στο Microsoft Excel επί τόπου στο πρόγραμμα περιήγησης. Για να το κάνετε αυτό, ακολουθήστε τα εξής βήματα: (Use the tools in the Windows Recovery Environment to repair Windows Vista. To do this, follow these steps:):
  1. Ανοίξτε το XMLSS.asp σε ένα πρόγραμμα επεξεργασίας κειμένου.
  2. Αλλάξτε την ακόλουθη γραμμή στη δέσμη ενεργειών:
    Response.ContentType = "text/xml"
    					
    Αλλάξτε τη γραμμή του κώδικα που μοιάζει με το εξής:
    Response.ContentType = "application/vnd.ms-excel"
    					
  3. Αποθηκεύστε τις αλλαγές σας σε XMLSS.asp και στη συνέχεια ξεκινήστε το Windows Internet Explorer.
  4. Αναζητήστε http://YourWebServer/XMLSS.asp. Υπολογιστικό φύλλο XML αποδίδεται στο Microsoft Excel που βρίσκεται επί τόπου στο πρόγραμμα περιήγησης.

Αναφορές

Για περισσότερες πληροφορίες, επισκεφθείτε το θέμα του Office Web Components στην ακόλουθη τοποθεσία της Microsoft στο Web:
http://support.Microsoft.com/ofd
Για περισσότερες πληροφορίες, κάντε κλικ στους αριθμούς των άρθρων παρακάτω για να προβάλετε τα άρθρα της Γνωσιακής Βάσης (Knowledge Base) της Microsoft:
285891Τρόπος χρήσης της Visual Basic ή ASP για να δημιουργήσετε ένα υπολογιστικό φύλλο XML για το Excel 2002 και το Excel 2003
278976Τρόπος χρήσης της XSL για τη μετατροπή του υπολογιστικού φύλλου XML του Excel για χρήση διακομιστή
257757Θέματα σχετικά με τον Αυτοματισμό (Automation) του Office για διακομιστή

Ιδιότητες

Αναγν. άρθρου: 288130 - Τελευταία αναθεώρηση: Τρίτη, 28 Σεπτεμβρίου 2010 - Αναθεώρηση: 2.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft Office Excel 2007
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Active Server Pages 4.0
Λέξεις-κλειδιά: 
kbhowto kbofficewebspread kbmt KB288130 KbMtel
Μηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:288130

Αποστολή σχολίων

 

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