ExcelADO παρουσιάζει πώς μπορείτε να χρησιμοποιήσετε το ADO για την ανάγνωση και εγγραφή δεδομένων στα βιβλία εργασίας του Excel

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

Περίληψη

Το δείγμα ExcelADO.exe παρουσιάζει πώς μπορείτε να χρησιμοποιήσετε ActiveX Data Objects (ADO) με το Jet παροχής Microsoft OLE DB 4.0 για την ανάγνωση και εγγραφή δεδομένων στα βιβλία εργασίας του Microsoft Excel.

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

Το ακόλουθο αρχείο είναι διαθέσιμο για λήψη από το Κέντρο λήψης της Microsoft (Download Center):
ExcelADO.exe
Ημερομηνία έκδοσης: Δεκέμβριος 12, 2000

Για περισσότερες πληροφορίες σχετικά με τον τρόπο λήψης αρχείων υποστήριξης της Microsoft, κάντε κλικ στον αριθμό του άρθρου παρακάτω για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft (Knowledge Base):
119591Τρόπος απόκτησης αρχείων υποστήριξης της Microsoft από ηλεκτρονικές υπηρεσίες
Η Microsoft εξέτασε το αρχείο αυτό για ιούς. Η Microsoft χρησιμοποίησε το πιο πρόσφατο λογισμικό εντοπισμού ιών που ήταν διαθέσιμο κατά την ημερομηνία δημοσίευσης του αρχείου. Το αρχείο είναι αποθηκευμένο σε διακομιστές με ενισχυμένη ασφάλεια, οι οποίοι βοηθούν στην αποτροπή μη εξουσιοδοτημένων αλλαγών στο αρχείο.

Γιατί να χρησιμοποιήσετε το ADO;

Η χρήση των ADO να μεταφέρει δεδομένα ή να ανακτούν δεδομένα από ένα βιβλίο εργασίας του Excel σας παρέχει μπορείτε, ο προγραμματιστής, αρκετά πλεονεκτήματα σε σύγκριση με την αυτοματοποίηση στο Excel:
  • Επιδόσεις. Το Microsoft Excel είναι ένας διακομιστής ActiveX εκτός διεργασίας. Το ADO εκτελείται εντός διεργασίας και αποθηκεύει το κόστος ΓΒΕ δαπανηρά κλήσεων εκτός διεργασίας.
  • Δυνατότητα κλιμάκωσης. Για εφαρμογές Web, δεν είναι πάντα επιθυμητή για την αυτοματοποίηση του Microsoft Excel. Το ADO σας παρουσιάζει μια πιο scaleable λύση για το χειρισμό των δεδομένων σε ένα βιβλίο εργασίας.
Το ADO μπορεί να χρησιμοποιηθεί αποκλειστικά για τη μεταφορά μη επεξεργασμένα δεδομένα σε ένα βιβλίο εργασίας. Δεν μπορείτε να χρησιμοποιήσετε το ADO για να εφαρμόσετε μορφές ή φόρμουλες κελιά. Ωστόσο, μπορείτε να μεταφέρετε τα δεδομένα σε ένα βιβλίο εργασίας που είναι pre-formatted και διατηρείται η μορφοποίηση. Εάν χρειάζεστε τη μορφοποίηση "υπό όρους", αφού θα εισαχθούν τα δεδομένα, μπορείτε να πραγματοποιήσετε αυτήν τη μορφοποίηση με αυτοματισμό ή με μια μακροεντολή στο βιβλίο εργασίας.

Λεπτομέρειες υπηρεσίας παροχής OLE DB του Jet για βιβλία εργασίας του Excel

Ο μηχανισμός βάσης δεδομένων Microsoft Jet μπορεί να χρησιμοποιηθεί για την πρόσβαση δεδομένων σε άλλες μορφές αρχείων βάσης δεδομένων, όπως βιβλία εργασίας του Excel, μέσω προγραμμάτων οδήγησης με δυνατότητα εγκατάστασης ευρετηρίου Έξοδος Access Method (ISAM). Για να ανοίξετε εξωτερικές μορφές που υποστηρίζονται από το Microsoft Jet 4.0 OLE DB Provider, μπορείτε να καθορίσετε τον τύπο της βάσης δεδομένων στις σύνθετες ιδιότητες της σύνδεσης. Η υπηρεσία παροχής Jet OLE DB υποστηρίζει τους ακόλουθους τύπους βάσης δεδομένων για βιβλία εργασίας του Microsoft Excel:
  • Excel 3.0
  • Excel 4.0
  • Excel 5.0
  • Excel 8.0
ΣΗΜΕΙΩΣΗ: Χρησιμοποιήστε τον τύπο της βάσης δεδομένων προέλευσης Excel 5.0 για βιβλία εργασίας του Microsoft Excel 5.0 και 7.0 (95) και χρησιμοποιήστε τον τύπο της βάσης δεδομένων προέλευσης Excel 8.0 για το Microsoft Excel 8.0 (97) και 9.0 βιβλία εργασίας (2000). Το δείγμα ExcelADO.exe χρησιμοποιούν βιβλία εργασίας του Excel σε μορφή Excel 97 και το Excel 2000.

Τα ακόλουθα δείγματα παρουσιάζουν ένα βιβλίο εργασίας του ADO σύνδεσης σε ένα Excel 97 (ή 2000):
Dim oConn As New ADODB.Connection
With oConn
    .Provider = "Microsoft.Jet.OLEDB.4.0"
    .Properties("Extended Properties").Value = "Excel 8.0"
    .Open "C:\Book1.xls"
    '....
    .Close
End With
				
-ή-
Dim oConn As New ADODB.Connection
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
           "Data Source=C:\Book1.xls;" & _
           "Extended Properties=""Excel 8.0;"""
oConn.Close
				
Συμβάσεις ονομασίας πίνακα

Υπάρχουν πολλοί τρόποι που μπορείτε να αναφερθείτε σε ένα πίνακα (ή μια περιοχή) σε ένα βιβλίο εργασίας του Excel:
  • Χρησιμοποιήστε το όνομα του φύλλου που ακολουθείται από σύμβολο δολαρίου (για παράδειγμα, [Φύλλο1 $] ή [μου $ φύλλο]). Ένας πίνακας βιβλίου εργασίας που αναφέρεται με αυτόν τον τρόπο αποτελείται από ολόκληρη την χρησιμοποιούμενη περιοχή του φύλλου εργασίας.
    oRS.Open "Select * from [Sheet1$]", oConn, adOpenStatic
    					
  • Χρησιμοποιήστε μια περιοχή με καθορισμένο όνομα (για παράδειγμα, ["Πίνακας1"]).
    oRS.Open "Select * from Table1", oConn, adOpenStatic
    					
  • Χρησιμοποιήστε μια περιοχή με μια συγκεκριμένη διεύθυνση (για παράδειγμα, [Φύλλο1 $ A1: B10]).
    oRS.Open "Select * from [Sheet1$A1:B10]", oConn, adOpenStatic
    					
Οι κεφαλίδες πίνακα

Με τα βιβλία εργασίας του Excel, η πρώτη γραμμή μιας περιοχής θεωρείται η γραμμή κεφαλίδας (ή τα ονόματα των πεδίων) από προεπιλογή. Εάν η πρώτη περιοχή δεν περιέχει κεφαλίδες, μπορείτε να καθορίσετεHDR = ΌΧΙστις σύνθετες ιδιότητες με τη συμβολοσειρά σύνδεσης. Εάν η πρώτη γραμμή περιέχει κεφαλίδες, η υπηρεσία παροχής OLE DB ονομάζει αυτόματα τα πεδία για εσάς (όπου F1 θα αντιπροσωπεύει το πρώτο πεδίο, F2 θα αντιπροσωπεύει το δεύτερο πεδίο, και ούτω καθεξής).

Τύποι δεδομένων

Σε αντίθεση με μια παραδοσιακή βάση δεδομένων, δεν υπάρχει απευθείας τρόπος για να καθορίσετε τους τύπους δεδομένων για τις στήλες σε πίνακες του Excel. Αντίθετα, η υπηρεσία παροχής OLE DB σαρώνει ένας περιορισμένος αριθμός γραμμών σε μια στήλη "Πρόβλεψη" για τον τύπο δεδομένων για το πεδίο. Ο αριθμός των γραμμών προς ανίχνευση προεπιλογές για οκτώ (8) σειρές, μπορείτε να αλλάξετε τον αριθμό των γραμμών προς ανίχνευση, καθορίζοντας μια τιμή από ένα (1) έως δεκαέξι (16) για τοMAXSCANROWSρύθμιση στις σύνθετες ιδιότητες από τη συμβολοσειρά σύνδεσης.

Αρχεία που περιλαμβάνονται στο δείγμα

The ExcelADO.exe file contains a Visual Basic Standard EXE project, Active Server Pages (ASP), Excel 97 and Excel 2000 Workbooks that act as templates, and a Microsoft Access 2000 database. The files included are as follows:

Visual Basic Standard EXE Project Files
  • ExcelADO.vbp
  • Form1.frm
  • Form1.frx
Active Server Pages
  • EmpData.asp
  • Orders.asp
Microsoft Excel Workbooks
  • OrdersTemplate.xls
  • EmpDataTemplate.xls
  • ProductsTemplate.xls
  • SourceData.xls
Microsoft Access Database
  • Data.mdb

How to Use the Sample

Extract the contents of the .exe file to a folder.

To use the Visual Basic project:
  1. In Visual Basic, open the ExcelADO.vbp file.
  2. Στο διακομιστήΤο έργομενού επιλογήςΑναφορές, and then set references toMicrosoft ADO Ext. for DDL and SecurityANDΒιβλιοθήκη αντικειμένων Microsoft ActiveX Data. This sample code works with both ADO 2.5 and ADO 2.6, so select the version appropriate to your computer.
  3. Πιέστε το πλήκτρο F5 για να εκτελέσετε το πρόγραμμα. A form for the demonstration appears.
  4. Κάντε κλικSample 1. This sample creates a copy of OrdersTemplate.xls. It then uses ADO to connect to the workbook and opens aRecordseton a table that is a defined range in the workbook. The name of the range isOrders_Table. It uses ADOAddNew/Ενημέρωσηmethods to add records (or rows) to the defined range in the workbook. When the row additions are complete, the ADOΣύνδεσηis closed and the workbook is displayed in Microsoft Excel. Follow these steps to do this:
    1. Στο διακομιστήINSERTmenu in Excel, selectNames, και στη συνέχεια επιλέξτεΟρισμός.
    2. In the list of defined names, selectOrders_Table. Note that the defined name has grown to include the newly added records. The defined name is used, in conjunction with Excel's OFFSET function, to compute a total on the data added to the worksheet.
    3. Quit Microsoft Excel and return to the Visual Basic application.
  5. Κάντε κλικSample 2. This sample creates a copy of EmpDataTemplate.xls. It uses ADO to connect to the workbook and uses theExecutemethod of the ADO connection to insert data (INSERT INTO in SQL) into the workbook. Data is added at defined ranges (or tables) in the workbook. When the data is transferred, the connection is closed and the workbook that results is displayed in Excel. After you examine the workbook, quit Microsoft Excel, and then return to the Visual Basic application.

  6. Κάντε κλικSample 3. This sample creates a copy of ProductsTemplate.xls. It uses Microsoft ADO Extensions 2.1 for DDL and Security object library (ADOX) to add a new table (or a new worksheet) to the workbook. An ADORecordsetis then obtained for the new table and data is added by using theAddNew/Ενημέρωσηmethods. When the row additions are complete, the ADOΣύνδεσηis closed and the workbook is displayed in Excel. The workbook contains Visual Basic for Applications (VBA) macro code in theOpenevent for the Workbook. The macro runs when the workbook opens; if the new "Products" worksheet exists in the workbook, the macro code formats the worksheet and then the macro code is deleted. This technique presents a way for the Web developer to move formatting code away from the Web server and onto the client. A Web application could stream a formatted workbook that contains data to the client and allow macro code that would perform any "conditional" formatting that might not be possible in a template alone to run at the client.

    ΣΗΜΕΙΩΣΗ: To examine the macro code, view theThisWorkbookmodule in the VBAProject for ProductsTemplate.xls.

  7. Κάντε κλικSample 4. This sample produces the same results as Sample 1, but the technique that is used to transfer the data is slightly different. In Sample 1, records (or rows) are added to the worksheet one at a time. Sample 4 adds the records in bulk by attaching the Excel table to an Access database and running an append query (or INSERT INTO..SELECT FROM) to append records from a table in the Access table to the Excel table. Once the transfer is complete, the Excel table is detached from the Access database and the workbook that results is displayed in Excel. Quit Excel, and return to the Visual Basic application.

  8. The last sample illustrates how you can read data from an Excel workbook. Select atablein the drop-down list, and then clickSample 5. Το παράθυρο άμεσης παρακολούθησης εμφανίζει τα περιεχόμενα του πίνακα που επιλέξατε. Εάν επιλέξετε ένα ολόκληρο φύλλο ("Sheet1 $" ή "Φύλλο2 $") για τον πίνακα, το παράθυρο άμεσης παρακολούθησης εμφανίζει τα περιεχόμενα της περιοχής που χρησιμοποιείται για αυτό το φύλλο εργασίας. Σημειώστε ότι η περιοχή που δεν απαραίτητα αρχίζει στη γραμμή 1, στήλη 1 του φύλλου εργασίας. Η περιοχή που ξεκινά από το άνω αριστερά κελί του φύλλου εργασίας που περιέχει δεδομένα.

    Εάν επιλέξετε μια συγκεκριμένη περιοχή διευθύνσεων ή μια καθορισμένη περιοχή, το παράθυρο άμεσης παρακολούθησης εμφανίζει τα περιεχόμενα του μόνο αυτή η περιοχή του φύλλου εργασίας.
Για να χρησιμοποιήσετε τις ενεργές σελίδες διακομιστή (ASP):
  1. Δημιουργήστε έναν νέο φάκελο με όνομαExcelADOστον κεντρικό κατάλογο του διακομιστή σας Web. Σημειώστε ότι η προεπιλεγμένη διαδρομή για τον κεντρικό κατάλογο C:\InetPut\WWWRoot.
  2. Αντιγράψτε τα ακόλουθα αρχεία στο φάκελο που δημιουργήσατε στο προηγούμενο βήμα:
    • EmpData.asp
    • Orders.asp
    • Data.mdb
    • EmpDataTemplate.xls
    • OrdersTemplate.xls

  3. Οι δέσμες ενεργειών ASP σε αυτό το δείγμα, δημιουργήστε αντίγραφα από τα πρότυπα βιβλίου εργασίας με τοΑντιγραφήη μέθοδος τουFileSystemObject. Για τοΑντιγραφήη μέθοδος είναι επιτυχής, το πρόγραμμα-πελάτη που έχει πρόσβαση η δέσμη ενεργειών πρέπει να διαθέτει δικαιώματα εγγραφής στο φάκελο που περιέχει το ASP.
  4. Περιήγηση σε Orders.asp (δηλαδή, http://YourServer/ExcelADO/Orders.ASP) και Σημειώστε ότι το πρόγραμμα περιήγησης εμφανίζει ένα βιβλίο εργασίας Excel που μοιάζει μεΔείγμα 1της εφαρμογής της Visual Basic.
  5. Περιήγηση σε EmpData.asp (δηλαδή, http://YourServer/ExcelADO/EmpData.ASP) και Σημειώστε ότι το πρόγραμμα περιήγησης εμφανίζει ένα βιβλίο εργασίας Excel που μοιάζει μεΔείγμα 2της εφαρμογής της Visual Basic.
(c) Microsoft Corporation 2000. Με επιφύλαξη κάθε νόμιμου δικαιώματος. ΕΙΣΦΟΡΕΣ με Lori B. Turner, Microsoft Corporation.

Αναφορές

Για περισσότερες πληροφορίες, κάντε κλικ στους αριθμούς των άρθρων παρακάτω για να προβάλετε τα άρθρα της Γνωσιακής Βάσης της Microsoft (Knowledge Base):
195951ΔΙΑΔΙΚΑΣΙΕΣ: Εκτέλεση ερωτήματος και ενημέρωση των δεδομένων του Excel χρησιμοποιώντας το ADO από την ASP
194124PRB: Excel τιμές που επιστρέφονται ως τιμή NULL χρησιμοποιώντας DAO OpenRecordset
193998ΔΙΑΔΙΚΑΣΙΕΣ: Ανάγνωσης και εμφάνισης δυαδικών δεδομένων σε σελίδες ASP
247412ΠΛΗΡΟΦΟΡΙΕΣ: Μέθοδοι για τη μεταφορά δεδομένων στο Excel από τη Visual Basic
257819ΔΙΑΔΙΚΑΣΙΕΣ: Χρήση ADO με δεδομένα του Excel από τη Visual Basic ή τη VBA

Ιδιότητες

Αναγν. άρθρου: 278973 - Τελευταία αναθεώρηση: Κυριακή, 19 Δεκεμβρίου 2010 - Αναθεώρηση: 2.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Active Server Pages 4.0
Λέξεις-κλειδιά: 
kbdownload kbautomation kbfile kbprogramming kbmt KB278973 KbMtel
Μηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:278973

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

 

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