ExcelADO ir parādīts, kā izmantot ADO datu lasīšanai un rakstīšanai Excel darbgrāmatās

Kopsavilkums

Piemērā ExcelADO. exe ir parādīts, kā varat izmantot ActiveX datu objekti (ADO) ar Microsoft Jet OLE DB 4,0 sniedzēju, lai lasītu un rakstītu datus Microsoft Excel darbgrāmatās.

Papildinformācija

Kāpēc izmantot ADO?

ADO lietošana datu pārsūtīšanai vai datu izgūšanai no Excel darbgrāmatas sniedz jums izstrādātāja vairākas priekšrocības, salīdzinot ar automatizāciju programmā Excel.

  • Veiktspēja. Microsoft Excel ir neapstrādāts ActiveX serveris. ADO darbojas procesa laikā un saglabā izmaksas no izmaksām, kas ir dārgas.

  • Mērogojamība. Tīmekļa lietojumprogrammu gadījumā ne vienmēr ir vēlams automatizēt Microsoft Excel. ADO piedāvā pilnīgāku risinājumu datu apstrādāšanai darbgrāmatā.

ADO var stingri lietot, lai pārsūtītu RAW datus uz darbgrāmatu. Jūs nevarat izmantot ADO, lai šūnām lietotu formātus vai formulas. Taču varat pārsūtīt datus uz darbgrāmatu, kas ir iepriekš formatēta, un tiek saglabāts formāts. Ja pēc datu ievietošanas ir nepieciešama Nosacījumformatēšana, varat izpildīt šo formatējumu ar automatizāciju vai ar makro darbgrāmatā.

Jet OLE DB nodrošinātāja specifiskās Excel darbgrāmatas

Microsoft Jet datu bāzu programmu var izmantot, lai piekļūtu datiem citos datu bāzes failu formātos, piemēram, Excel darbgrāmatās, izmantojot instalējamos indeksētos secīgās piekļuves metodes (ISAM) draiverus. Lai atvērtu ārēju formātu, ko atbalsta Microsoft Jet 4,0 OLE DB nodrošinātājs, savienojuma paplašinātajos rekvizītos norādiet datu bāzes tipu. Jet OLE DB nodrošinātājs atbalsta tālāk norādītos Microsoft Excel darbgrāmatu datu bāzes tipus.

  • Excel 3,0

  • Excel 4,0

  • Excel 5,0

  • Excel 8,0

Piezīme. izmantojiet Excel 5,0 avota datu bāzes tipu microsoft Excel 5,0 un 7,0 (95) darbgrāmatām un izmantojiet Excel 8,0 avota datu bāzes tipu microsoft Excel 8,0 (97) un 9,0 (2000) darbgrāmatām. Izlasē ExcelADO. exe izmanto Excel darbgrāmatas Excel 97 un Excel 2000 formātā. Tālāk norādītie paraugi parāda ADO savienojumu ar Excel 97 (vai 2000) darbgrāmatu.

Dim oConn As New ADODB.ConnectionWith oConn    .Provider = "Microsoft.Jet.OLEDB.4.0"    .Properties("Extended Properties").Value = "Excel 8.0"    .Open "C:\Book1.xls"    '....    .CloseEnd With

vai

Dim oConn As New ADODB.ConnectionoConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _           "Data Source=C:\Book1.xls;" & _           "Extended Properties=""Excel 8.0;"""oConn.Close

Tabulu nosaukumdošanas metodesPastāv vairāki veidi, kā varat atsaukties uz tabulu (vai diapazonu) Excel darbgrāmatā:

  • Izmantojiet lapas nosaukumu, kam seko dolāra zīme (piemēram, [Lapa1 $] vai [mana darblapa $]). Darbgrāmatas tabula, uz kuru šajā veidā ir atsauce, sastāv no visa lietotā darblapas diapazona.

    oRS.Open "Select * from [Sheet1$]", oConn, adOpenStatic
  • Izmantojiet diapazonu ar definētu nosaukumu (piemēram, [Table1]).

    oRS.Open "Select * from Table1", oConn, adOpenStatic
  • Izmantojiet diapazonu ar konkrētu adresi (piemēram, [Lapa1 $ A1: B10]).

    oRS.Open "Select * from [Sheet1$A1:B10]", oConn, adOpenStatic

Tabulas galvenesAr Excel darbgrāmatām diapazona pirmo rindu uzskata par galvenes rindu (vai lauku nosaukumus) pēc noklusējuma. Ja pirmajā diapazonā nav galveņu, varat norādīt HDR = nav savienojuma virknē paplašinātajos rekvizītos. Ja pirmajā rindā nav nevienas galvenes, OLE DB nodrošinātājs automātiski nosauc laukus jūsu vietā (kur F1 pārstāvēs pirmo lauku, F2 pārstāvēs otro lauku un tā tālāk).Datu tipiAtšķirībā no tradicionālās datu bāzes nav tieša veida, kā norādīt datu tipus kolonnām Excel tabulās. Tā vietā OLE DB nodrošinātājs skenē noteiktu rindu skaitu kolonnā, lai uzmeklētu lauka datu tipu "guess". Rindu skaits, cik jāskenē pēc noklusējuma līdz astoņām (8) rindām; varat mainīt skenējamo rindu skaitu, norādot vērtību no viena (1) līdz sešpadsmit (16) kā MAXSCANROWS iestatījumu savienojuma virknes paplašinātajos rekvizītos.

Izlasē iekļautie faili

Failā ExcelADO. exe ir Visual Basic standarta EXE projekts, Active Server Pages (ASP), Excel 97 un Excel 2000 darbgrāmatas, kas darbojas kā veidnes, un Microsoft Access 2000 datu bāze. Iekļautie faili ir šādi:Visual Basic Standard exe projekta faili

  • ExcelADO.vbp

  • Form1.frm

  • Form1.frx

Active Server lapas

  • EmpData.asp

  • Orders.asp

Microsoft Excel darbgrāmatas

  • OrdersTemplate.xls

  • EmpDataTemplate.xls

  • ProductsTemplate.xls

  • SourceData.xls

Microsoft Access datu bāze

  • Data.mdb

Kā izmantot paraugu

Izvērsiet. exe faila saturu mapē.Lai izmantotu Visual Basic projektu:

  1. Programmā Visual Basic atveriet failu ExcelADO. vbp.

  2. Izvēlnē Projekts atlasiet atsaucesun pēc tam iestatiet atsauces uz Microsoft ADO ext. attiecībā uz DDL un drošību un Microsoft ActiveX datu objektu bibliotēka. Šis koda paraugs darbojas gan ar ADO 2,5, gan ADO 2,6, tāpēc atlasiet datorā vajadzīgo versiju.

  3. Nospiediet taustiņu F5, lai palaistu programmu. Tiek parādīta demonstrācijas veidlapa.

  4. Noklikšķiniet uz 1. paraugs. Šajā piemērā tiek izveidota OrdersTemplate. xls kopija. Pēc tam tas izmanto ADO, lai izveidotu savienojumu ar darbgrāmatu, un atver ierakstkopu tabulai, kas ir definēts diapazonu darbgrāmatā. Diapazona nosaukums ir Orders_Table. Tā izmanto ADO AddNew/Update metodes, lai pievienotu ierakstus (vai rindas) darbgrāmatā definētajam diapazonam. Kad rindu pielikumi ir pabeigti, ADO savienojums tiek aizvērts, un darbgrāmata tiek rādīta programmā Microsoft Excel. Lai to izdarītu, rīkojieties šādi:

    1. Programmas Excel izvēlnē ievietošana atlasiet vārdiun pēc tam atlasiet definēt.

    2. Definēto nosaukumu sarakstā atlasiet Orders_Table. Ņemiet vērā, ka definētais nosaukums ir pieaudzis, iekļaujot nesen pievienotos ierakstus. Definētais nosaukums tiek lietots kopā ar Excel funkciju OFFSET, lai aprēķinātu kopsummu darblapā pievienotajiem datiem.

    3. Aizveriet programmu Microsoft Excel un atgriezieties Visual Basic lietojumprogrammā.

  5. Noklikšķiniet uz Piemērs 2. Šajā piemērā tiek izveidota EmpDataTemplate. xls kopija. Tā izmanto ADO, lai izveidotu savienojumu ar darbgrāmatu, un izmanto ADO savienojuma izpildīšanas metodi, lai darbgrāmatā ievietotu datus (IEVIETOTU programmā SQL). Dati tiek pievienoti darbgrāmatas definētajos diapazonos (vai tabulās). Kad dati tiek pārsūtīti, savienojums tiek aizvērts un darbgrāmata, kas tiek rādīta programmā Excel. Pēc darbgrāmatas pārbaudīšanas aizveriet programmu Microsoft Excel un pēc tam atgriezieties Visual Basic lietojumprogrammā.

  6. Noklikšķiniet uz 3. piemērs. Šajā piemērā tiek izveidota ProductsTemplate. xls kopija. Tiek izmantoti Microsoft ADO paplašinājumi 2,1 DDL un drošības objektu bibliotēkai (ADOX), lai darbgrāmatai pievienotu jaunu tabulu (vai jaunu darblapu). Pēc tam jaunajai tabulai tiek iegūta ADO ierakstkopa , un dati tiek pievienoti, izmantojot AddNew/atjaunināšanas metodes. Kad rindu pielikumi ir pabeigti, ADO savienojums tiek aizvērts, un darbgrāmata tiek parādīta programmā Excel. Darbgrāmatā ir Visual Basic for Applications (VBA) makro kods darbgrāmatas notikumā Atvērt . Makro tiek izpildīts, kad darbgrāmata tiek atvērta. Ja darbgrāmatā ir izveidota jauna darblapa "produkti", makro kods formatē darblapu un pēc tam makro kods tiek izdzēsts. Šajā metodē ir parādīts, kā tīmekļa izstrādātājam pārvietot formatēšanas kodu prom no tīmekļa servera un klienta. Tīmekļa lietojumprogramma var straumēt formatētu darbgrāmatu, kurā ir dati, un atļaut makro kodu, kas izpilda jebkādu "nosacījumformatēšanu", kas, iespējams, nav pieejama veidnē, lai to izpildītu klientam.Piezīme. lai pārbaudītu makro kodu, skatiet objekta šī darbgrāmata moduli VBAProject ProductsTemplate. xls.

  7. Noklikšķiniet uz 4. paraugs. Šajā piemērā ir parādīti tādi paši rezultāti kā 1. paraugam, taču datu pārnešanai izmantotais paņēmiens mazliet atšķiras. 1. piemērā ieraksti (vai rindas) tiek pievienoti darblapā pa vienam. 4. paraugs pievieno ierakstus vairumā, pievienojot Excel tabulu Access datu bāzei un palaižot pievienošanas vaicājumu (vai ievietot... Atlasiet no), lai pievienotu ierakstus no tabulas Access tabulā uz Excel tabulu. Kad pārsūtīšana ir pabeigta, Excel tabula tiek atdalīta no Access datu bāzes un darbgrāmatas, kas tiek rādīta programmā Excel. Aizveriet programmu Excel un atgriezieties Visual Basic lietojumprogrammā.

  8. Pēdējā piemērā parādīts, kā varat nolasīt datus no Excel darbgrāmatas. Nolaižamajā sarakstā atlasiet tabulu un pēc tam noklikšķiniet uz 5. paraugs. Logā Immediate tiek parādīts atlasītās tabulas saturs. Ja tabulai atlasāt visu darblapu ("Lapa1 $" vai "Lapa2 $"), tiešajā logā tiek parādīts šīs darblapas lietotā diapazona saturs. Ņemiet vērā, ka lietotais diapazons ne vienmēr sākas ar darblapas 1. rindu. Izmantotais diapazons tiek sākts darblapas augšējā kreisajā stūrī, kurā ir dati. Ja atlasāt noteiktu diapazona adresi vai noteiktu diapazonu, tūlītējā logā tiek parādīts tikai tā diapazona saturs darblapā.

Lai izmantotu Active Server lapas (ASP):

  1. Izveidojiet jaunu mapi ar nosaukumu ExcelADO tīmekļa servera mājas direktorijā. Ievērojiet, ka mājas direktorija noklusējuma ceļš ir C:\InetPut\WWWRoot.

  2. Kopējiet tālāk norādītos failus mapē, ko izveidojāt iepriekšējā darbībā:

    • EmpData.asp

    • Orders.asp

    • Data.mdb

    • EmpDataTemplate.xls

    • OrdersTemplate.xls

  3. ASP skripti šajā piemērā izveido darbgrāmatu veidņu kopijas ar FileSystemObjectkopēšanas metodi. Lai kopēšanas metode būtu sekmīga, klientam, kas piekļūst skriptam, ir jābūt rakstīšanas piekļuvei mapē, kurā ir ASP.

  4. Pārejiet uz pasūtījumi. ASP (tas ir, http://YourServer/ExcelADO/Orders.ASP) un ņemiet vērā, ka pārlūkprogrammā tiek parādīta Excel darbgrāmata, kas līdzīga vienai Visual Basic lietojumprogrammas 1. piemērā .

  5. Pārejiet uz EmpData. ASP (tas ir, http://YourServer/ExcelADO/EmpData.ASP) un ņemiet vērā, ka pārlūkprogrammā tiek parādīta Excel darbgrāmata, kas ir līdzīga Visual Basic lietojumprogrammas 2. paraugam .

(c) Microsoft Corporation 2000, visas tiesības ir aizsargātas. Iemaksas no Lori B. Turner, Microsoft Corporation.

Atsauces

Lai iegūtu papildinformāciju, noklikšķiniet uz šiem rakstu numuriem, lai skatītu rakstus Microsoft zināšanu bāzē:

195951 HOWTO: vaicājumu un atjauniniet Excel datus, izmantojot ADO no ASP

194124 PRB: Excel vērtības tiek atgrieztas kā NULL, izmantojot DAO OpenRecordset

193998 HOWTO: bināro datu lasīšana un parādīšana ASP

247412 INFORMĀCIJA: metodes datu pārsūtīšanai uz programmu Excel no Visual Basic

257819 HOWTO: izmantojiet ADO ar Excel datiem no Visual Basic vai VBA

Vai nepieciešama papildu palīdzība?

Paplašiniet savas prasmes
Iepazīties ar apmācību
Esiet pirmais, kas saņem jaunās iespējas
Pievienoties Microsoft Insider

Vai šī informācija bija noderīga?

Paldies par jūsu atsauksmēm!

Paldies par atsauksmēm! Šķiet, ka jums varētu būt noderīgi sazināties ar kādu no mūsu Office atbalsta speciālistiem.

×