Τρόπος ερωτήματος και ενημερωμένη έκδοση Excel δεδομένα χρησιμοποιώντας το ADO από ASP

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

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

Περίληψη

Αυτό το άρθρο παρουσιάζει τον τρόπο για την υποβολή ερωτημάτων και την ενημέρωση πληροφορίες σε ένα υπολογιστικό φύλλο του Excel χρησιμοποιώντας αντικείμενα δεδομένων ActiveX (ADO) από μια Σελίδα Active Server Pages (ASP). Αυτό το άρθρο περιγράφει επίσης τους περιορισμούς που σχετίζονται με αυτόν τον τύπο της εφαρμογής.

ΣΗΜΑΝΤΙΚΌ: Αν Εφαρμογές ASP/ADO υποστηρίζει πρόσβαση πολλών χρηστών, δεν έχει ένα υπολογιστικό φύλλο του Excel. Επομένως, αυτή η μέθοδος ερωτημάτων και την ενημέρωση των πληροφοριών υποστήριξης ταυτόχρονη πρόσβαση πολλών χρηστών.

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

Για να αποκτήσετε πρόσβαση σε δεδομένα στο υπολογιστικό φύλλο του Excel για αυτό δείγμα, χρησιμοποιήστε το πρόγραμμα οδήγησης Microsoft ODBC για το Excel. Δημιουργία πίνακα για την πρόσβαση του δεδομένα, δημιουργώντας μια περιοχή με όνομα στο υπολογιστικό φύλλο του Excel.

Βήματα για τη δημιουργία του δείγματος εφαρμογής

  • Δημιουργία του αρχείου Excel ADOtest.xls με τα ακόλουθα δεδομένα στο Φύλλο1:

    Σύμπτυξη αυτού του πίνακαΑνάπτυξη αυτού του πίνακα
    στήλη1στήλη2στήλη3
    RR Αυτή η15
    ββδοκιμή20
    EEλειτουργεί25

    ΣΗΜΕΙΩΣΗ Εάν μια στήλη στο υπολογιστικό φύλλο του Excel περιέχει δύο κειμένου και αριθμοί, το πρόγραμμα οδήγησης ODBC του Excel δεν ερμηνεύουν σωστά τον τύπο δεδομένων του θα πρέπει να είναι η στήλη. Βεβαιωθείτε ότι όλα τα κελιά σε μια στήλη είναι το ίδιο τύπο δεδομένων. Τα τρία ακόλουθα σφάλματα μπορεί να προκύψει αν κάθε κελί μιας στήλης δεν είναι του ίδιου τύπου ή που έχουν τύπους αναμειγνύονται μεταξύ "κείμενο" και "Γενικά":
    1. Υπηρεσία παροχής Microsoft OLE DB για προγράμματα οδήγησης ODBC σφάλμα '80040e21'
      Ιδιότητες αίτησης μπορεί να μην υποστηρίζεται από Αυτό το πρόγραμμα οδήγησης ODBC.
    2. Υπηρεσία παροχής Microsoft OLE DB για προγράμματα οδήγησης ODBC σφάλμα '80004005'
      Το ερώτημα δεν έχει δυνατότητα ενημέρωσης επειδή το περιέχει στήλες με δυνατότητα αναζήτησης για να χρησιμοποιήσετε ως αισιόδοξο κλειδί.
    3. Υπηρεσία παροχής Microsoft OLE DB για προγράμματα οδήγησης ODBC σφάλμα '80004005'
      Η ενημέρωση βάσει ερωτήματος απέτυχε. Της γραμμής προς ενημέρωση Δεν ήταν δυνατό να βρεθεί.
  • Δημιουργήστε μια περιοχή με όνομα, myRange1, στο υπολογιστικό σας φύλλο:

    1. Επισημάνετε την περιοχή γραμμών και στηλών όπου τα δεδομένα σας βρίσκεται.
    2. Μενού "Εισαγωγή", το δείκτη του ποντικιού στο όνομα και κάντε κλικ στο κουμπί Ορισμός.
    3. Πληκτρολογήστε το όνομα myRange1 για την περιοχή με όνομα το όνομα.
    4. Κάντε κλικ στο OK.
    MyRange1 περιοχή με καθορισμένο όνομα περιέχει τα ακόλουθα δεδομένα:

    Σύμπτυξη αυτού του πίνακαΑνάπτυξη αυτού του πίνακα
    στήλη1στήλη2στήλη3
    RRΑυτή η15
    ββδοκιμή20
    EEλειτουργεί25


    ΣΗΜΕΙΩΣΗ Το ADO θεωρεί ότι η πρώτη γραμμή ενός ερωτήματος Excel περιέχει το επικεφαλίδες στηλών. Επομένως, στην περιοχή με όνομα πρέπει να περιλαμβάνει τις επικεφαλίδες των στηλών. Αυτή η διαφορετική συμπεριφορά από DAO.

    ΣΗΜΕΙΩΣΗ Επικεφαλίδες στηλών δεν είναι αριθμός. Δεν είναι δυνατό το πρόγραμμα οδήγησης του Excel τα ερμηνεύσει και Αντίθετα, επιστρέφει ένα κελί αναφοράς. Για παράδειγμα, μια στήλη θα να παρερμηνευθούν επικεφαλίδα "f1".
  • Δημιουργήστε ένα ODBC συστήματος όνομα προέλευσης δεδομένων (DSN) οδηγεί σε το αρχείο ADOTest.xls.
    1. Από τον πίνακα ελέγχου, ανοίξτε το ODBC Ο διαχειριστής.
    2. Στην καρτέλα DSN συστήματος, κάντε κλικ στο κουμπί Προσθήκη.
    3. Επιλέξτε το πρόγραμμα οδήγησης Microsoft Excel (*.xls) και κάντε κλικ στο κουμπί Τέλος. Εάν δεν υπάρχει αυτή η επιλογή, πρέπει να εγκαταστήσετε το πρόγραμμα οδήγησης Microsoft ODBC για το Excel από την εγκατάσταση του Excel.
    4. Επιλέξτε ADOExcel για το όνομα της προέλευσης δεδομένων.
    5. Βεβαιωθείτε ότι η έκδοση είναι η σωστή έκδοση του Το Excel.
    6. Κάντε κλικ στο κουμπί "Επιλογή βιβλίου εργασίας...", αναζητήστε το ADOTest.xls το αρχείο και κάντε κλικ στο OK.
    7. Κάντε κλικ στο κουμπί τις "Επιλογές >>" κουμπί και καταργήστε την επιλογή "ανάγνωση Μόνο"το πλαίσιο ελέγχου.
    8. Κάντε κλικ στο κουμπί OK και στη συνέχεια κάντε ξανά κλικ στο κουμπί OK.
  • Ορίστε τα δικαιώματα στο αρχείο ADOTest.xls.
Εάν το ενεργό σελίδα διακομιστή πρόσβαση ανώνυμα, πρέπει να Βεβαιωθείτε ότι έχει τουλάχιστον τον ανώνυμο λογαριασμό (IUSR_<machinename>) Πρόσβαση ανάγνωσης/εγγραφής (RW) στο υπολογιστικό φύλλο. Εάν θέλετε να διαγράψετε τις πληροφορίες από το υπολογιστικό φύλλο, πρέπει να παραχωρήσετε τα δικαιώματα αναλόγως.<b00></b00></machinename>

Εάν έλεγχο ταυτότητας πρόσβασης για την ενεργό σελίδα διακομιστή, πρέπει να Βεβαιωθείτε ότι όλοι οι χρήστες πρόσβαση σε εφαρμογή σας έχουν την κατάλληλη τα δικαιώματα.

ΣΗΜΕΙΩΣΗ Εάν δεν ορίσετε τα κατάλληλα δικαιώματα για το υπολογιστικό φύλλο, λαμβάνετε ένα μήνυμα λάθους παρόμοιο με το ακόλουθο:

Υπηρεσία παροχής Microsoft OLE DB για προγράμματα οδήγησης ODBC, σφάλμα '80004005'

[Microsoft][Excel προγράμματος οδήγησης ODBC] Το Microsoft Jet ο μηχανισμός βάσης δεδομένων να ανοίξετε το αρχείο «(άγνωστο)». Είναι ήδη ανοιχτό αποκλειστικά από άλλο χρήστη ή χρειάζεστε άδεια για να προβάλετε τα δεδομένα του.
  1. Δημιουργία νέας σελίδας ASP και επικολλήστε τον ακόλουθο κώδικα:
          <!-- Begin ASP Source Code -->
          <%@ LANGUAGE="VBSCRIPT" %>
          <%
            Set objConn = Server.CreateObject("ADODB.Connection")
            objConn.Open "ADOExcel"
    
            Set objRS = Server.CreateObject("ADODB.Recordset")
            objRS.ActiveConnection = objConn
            objRS.CursorType = 3                    'Static cursor.
            objRS.LockType = 2                      'Pessimistic Lock.
            objRS.Source = "Select * from myRange1"
            objRS.Open
       %>
       <br>
       <%
          Response.Write("Original Data")
    
          'Printing out original spreadsheet headings and values.
    
          'Note that the first recordset does not have a "value" property
          'just a "name" property.  This will spit out the column headings.
    
          Response.Write("<TABLE><TR>")
          For X = 0 To objRS.Fields.Count - 1
             Response.Write("<TD>" & objRS.Fields.Item(X).Name & "</TD>")
          Next
          Response.Write("</TR>")
          objRS.MoveFirst
    
          While Not objRS.EOF
             Response.Write("<TR>")
             For X = 0 To objRS.Fields.Count - 1
                Response.write("<TD>" & objRS.Fields.Item(X).Value)
             Next
             objRS.MoveNext
             Response.Write("</TR>")
          Wend
          Response.Write("</TABLE>")
    
          'The update is made here
    
          objRS.MoveFirst
          objRS.Fields(0).Value = "change"
          objRS.Fields(1).Value = "look"
          objRS.Fields(2).Value = "30"
          objRS.Update
    
          'Printing out spreadsheet headings and values after update.
    
          Response.Write("<br>Data after the update")
          Response.Write("<TABLE><TR>")
          For X = 0 To objRS.Fields.Count - 1
             Response.Write("<TD>" & objRS.Fields.Item(X).Name & "</TD>")
          Next
          Response.Write("</TR>")
          objRS.MoveFirst
    
          While Not objRS.EOF
             Response.Write("<TR>")
             For X = 0 To objRS.Fields.Count - 1
                Response.write("<TD>" & objRS.Fields.Item(X).Value)
             Next
             objRS.MoveNext
             Response.Write("</TR>")
          Wend
          Response.Write("</TABLE>")
    
          'ADO Object clean up.
    
          objRS.Close
          Set objRS = Nothing
    
          objConn.Close
          Set objConn = Nothing
       %>
       <!-- End ASP Source Code -->
    					
  2. Αποθήκευση και ονομάστε την ενεργή σελίδα διακομιστή και στο του το πρόγραμμα περιήγησης. Θα δείτε το ακόλουθο:
          Original Data:
    
          column1    column2    column3
          -----------------------------
    
          rr         this       30
          bb         test       20
          tt         works      25
    
    
          Data after the update:
    
          column1    column2    column3
          -----------------------------
    
          change     look       30
          bb         test       20
          tt         works      25
    					
ΣΗΜΕΙΩΣΗ Έγινε μια ενημέρωση στην πρώτη γραμμή της περιοχής σας με όνομα (μετά τις επικεφαλίδες).

Αναφορές

Για πρόσθετες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
190195Πώς να ExtractInformation από φύλλο του Excel με το DAO

Ιδιότητες

Αναγν. άρθρου: 195951 - Τελευταία αναθεώρηση: Παρασκευή, 27 Μαΐου 2011 - Αναθεώρηση: 6.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft Active Server Pages 4.0
  • Microsoft Data Access Components 2.5
Λέξεις-κλειδιά: 
kbcode kbhowto kbmdacnosweep kbmt KB195951 KbMtel
Μηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:195951

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

 

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