ExcelADO memperlihatkan cara menggunakan ADO untuk membaca dan menulis data dalam buku kerja Excel

Ringkasan

Sampel ExcelADO. exe mengilustrasikan bagaimana Anda bisa menggunakan objek data ActiveX (ADO) dengan penyedia Microsoft jet OLE DB 4,0 untuk membaca dan menulis data dalam buku kerja Microsoft Excel.

Informasi Selengkapnya

Mengapa menggunakan ADO?

Penggunaan ADO untuk mentransfer data ke atau mengambil data dari buku kerja Excel memberi Anda, pengembang, beberapa keuntungan melalui otomatisasi ke Excel:

  • Kinerja. Microsoft Excel adalah server ActiveX proses Out-of-process. ADO berjalan dalam proses, dan menghemat biaya panggilan keluar proses yang mahal.

  • Skalabilitas. Untuk aplikasi web, tidak selalu diinginkan untuk mengotomatisasi Microsoft Excel. ADO menyajikan Anda dengan solusi yang lebih skalat untuk menangani data dalam buku kerja.

ADO dapat digunakan secara ketat untuk mentransfer data mentah ke buku kerja. Anda tidak dapat menggunakan ADO untuk menerapkan format atau rumus ke sel. Namun, Anda bisa mentransfer data ke buku kerja yang sudah diformat sebelumnya dan formatnya dipertahankan. Jika Anda memerlukan pemformatan "bersyarat" setelah data disisipkan, Anda bisa menyelesaikan pemformatan ini dengan otomatisasi atau dengan makro dalam buku kerja.

Jet OLE DB penyedia spesifik untuk buku kerja Excel

Mesin database Microsoft jet dapat digunakan untuk mengakses data dalam format file database lainnya, seperti buku kerja Excel, melalui driver metode Access Sequential terindeks (ISAM). Untuk membuka format eksternal yang didukung oleh penyedia Microsoft jet 4,0 OLE DB, Anda menentukan tipe database dalam properti yang diperluas untuk koneksi. Penyedia jet OLE DB mendukung tipe database berikut untuk buku kerja Microsoft Excel:

  • Excel 3,0

  • Excel 4,0

  • Excel 5,0

  • Excel 8,0

Catatan: Gunakan tipe database sumber 5,0 Excel untuk buku kerja microsoft Excel 5,0 dan 7,0 (95) dan gunakan tipe database Excel 8,0 source untuk microsoft Excel 8,0 (97) dan buku kerja 9,0 (2000). Sampel ExcelADO. exe menggunakan buku kerja Excel dalam format Excel 97 dan Excel 2000. Contoh berikut ini menunjukkan koneksi ADO ke buku kerja Excel 97 (atau 2000):

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

-atau-

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

Konvensi penamaan tabelAda beberapa cara Anda bisa mereferensikan tabel (atau rentang) dalam buku kerja Excel:

  • Gunakan nama lembar yang diikuti dengan tanda dolar (misalnya, [Sheet1 $] atau [lembar kerja saya $]). Tabel buku kerja yang direferensikan dengan cara ini terdiri dari rentang lembar kerja yang digunakan.

    oRS.Open "Select * from [Sheet1$]", oConn, adOpenStatic
  • Gunakan rentang dengan nama yang ditentukan (misalnya, [Tabel1]).

    oRS.Open "Select * from Table1", oConn, adOpenStatic
  • Gunakan rentang dengan alamat tertentu (misalnya, [Sheet1 $ A1: B10]).

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

Header tabelDengan buku kerja Excel, baris pertama dalam rentang dianggap sebagai baris header (atau nama bidang) secara default. Jika rentang pertama tidak berisi header, Anda bisa menentukan HDR = tidak ada dalam properti yang diperluas dalam string koneksi Anda. Jika baris pertama tidak berisi header, penyedia OLE DB secara otomatis menamai bidang untuk Anda (di mana F1 akan mewakili bidang pertama, F2 akan mewakili bidang kedua, dan seterusnya).Tipe dataTidak seperti database tradisional, tidak ada cara langsung untuk menentukan tipe data untuk kolom dalam tabel Excel. Sebagai gantinya, penyedia OLE DB memindai sejumlah baris dalam kolom untuk "menebak" tipe data untuk bidang tersebut. Jumlah baris untuk memindai default ke delapan (8) baris; Anda dapat mengubah jumlah baris untuk memindai dengan menentukan nilai antara satu (1) dan enam belas (16) untuk pengaturan Maxscanrows dalam properti yang diperluas dari string koneksi Anda.

File yang disertakan dengan sampel

File ExcelADO. exe berisi proyek Visual Basic EXE, Active server Pages (ASP), Excel 97 dan Excel 2000 buku kerja yang bertindak sebagai Templat, dan database Microsoft Access 2000. File yang disertakan adalah sebagai berikut:file proyek Visual Basic Standard exe

  • ExcelADO.vbp

  • Form1.frm

  • Form1.frx

Halaman server aktif

  • EmpData.asp

  • Orders.asp

Buku kerja Microsoft Excel

  • OrdersTemplate.xls

  • EmpDataTemplate.xls

  • ProductsTemplate.xls

  • SourceData.xls

Database Microsoft Access

  • Data.mdb

Cara menggunakan sampel

Mengekstrak konten file. exe ke folder.Untuk menggunakan proyek Visual Basic:

  1. Dalam Visual Basic, buka file ExcelADO. vbp.

  2. Pada menu Project , pilih referensi, lalu Atur referensi ke Microsoft ADO Ext. untuk DDL dan keamanan dan pustaka objek data ActiveX Microsoft. Kode sampel ini berfungsi dengan ADO 2,5 dan ADO 2,6, jadi pilih Versi yang sesuai untuk komputer Anda.

  3. Tekan tombol F5 untuk menjalankan program. Formulir untuk demonstrasi muncul.

  4. Klik sampel 1. Sampel ini membuat salinan OrdersTemplate. xls. Kemudian menggunakan ADO untuk menyambungkan ke buku kerja dan membuka RecordSet pada tabel yang merupakan rentang yang ditentukan dalam buku kerja. Nama rentang adalah Orders_Table. Menggunakan metode ADO Addnew/update untuk menambahkan catatan (atau baris) ke rentang yang ditentukan dalam buku kerja. Ketika penambahan baris selesai, koneksi ADO ditutup dan buku kerja ditampilkan di Microsoft Excel. Ikuti langkah-langkah ini untuk melakukan hal ini:

    1. Pada menu sisipkan di Excel, pilih nama, lalu pilih tetapkan.

    2. Dalam daftar nama yang ditentukan, pilih Orders_Table. Perhatikan bahwa nama yang ditentukan telah berkembang untuk menyertakan rekaman yang baru ditambahkan. Nama yang ditentukan digunakan, bersamaan dengan fungsi OFFSET Excel, untuk menghitung total pada data yang ditambahkan ke lembar kerja.

    3. Keluar dari Microsoft Excel dan kembali ke aplikasi Visual Basic.

  5. Klik sampel 2. Sampel ini membuat salinan Emdatatemplate. xls. Menggunakan ADO untuk menyambungkan ke buku kerja dan menggunakan metode eksekusi koneksi ADO untuk menyisipkan data (sisipkan ke dalam SQL) ke dalam buku kerja. Data ditambahkan pada rentang (atau tabel) yang ditentukan dalam buku kerja. Saat data ditransfer, koneksi tertutup dan buku kerja yang hasilnya ditampilkan di Excel. Setelah Anda memeriksa buku kerja, keluar dari Microsoft Excel, lalu kembali ke aplikasi Visual Basic.

  6. Klik sampel 3. Sampel ini membuat salinan ProductsTemplate. xls. Menggunakan Microsoft ADO Extensions 2,1 untuk DDL dan Security object Library (ADOX) untuk menambahkan tabel baru (atau lembar kerja baru) ke buku kerja. Sebuah RecordSet ADO diperoleh untuk tabel dan data baru ditambahkan dengan menggunakan metode addnew/update . Ketika penambahan baris selesai, koneksi ADO ditutup dan buku kerja ditampilkan di Excel. Buku kerja berisi kode makro Visual Basic for Applications (VBA) di acara terbuka untuk buku kerja. Makro berjalan saat buku kerja terbuka; Jika lembar kerja "Produk" baru ada dalam buku kerja, kode makro memformat lembar kerja lalu kode makro dihapus. Teknik ini menyajikan cara bagi pengembang web untuk memindahkan kode pemformatan menjauh dari server web dan ke klien. Aplikasi web dapat mengalirkan buku kerja yang diformat yang berisi data ke klien dan memperbolehkan kode makro yang akan melakukan pemformatan "bersyarat" apa pun yang mungkin tidak dimungkinkan dalam Templat saja untuk dijalankan di klien.Catatan: untuk memeriksa kode makro, Tampilkan modul ThisWorkbook dalam VBAProject untuk ProductsTemplate. xls.

  7. Klik sampel 4. Sampel ini menghasilkan hasil yang sama seperti contoh 1, namun teknik yang digunakan untuk mentransfer data sedikit berbeda. Dalam contoh 1, rekaman (atau baris) ditambahkan ke lembar kerja satu per satu. Sampel 4 menambahkan catatan secara massal dengan melampirkan tabel Excel ke database Access dan menjalankan kueri penambahan (atau menyisipkan ke dalam.. Pilih dari) untuk menambahkan rekaman dari tabel dalam tabel Access ke tabel Excel. Setelah transfer selesai, tabel Excel dipisahkan dari database Access dan buku kerja yang hasilnya ditampilkan di Excel. Keluar dari Excel, dan kembali ke aplikasi Visual Basic.

  8. Sampel terakhir mengilustrasikan cara Anda bisa membaca data dari buku kerja Excel. Pilih tabel dalam daftar turun bawah, lalu klik sampel 5. Jendela langsung menampilkan konten tabel yang Anda pilih. Jika Anda memilih seluruh lembar kerja ("Sheet1 $" atau "Sheet2 $") untuk tabel, jendela segera menampilkan konten rentang yang digunakan untuk lembar kerja tersebut. Perhatikan bahwa rentang yang digunakan tidak harus dimulai pada baris 1, kolom 1 lembar kerja. Rentang yang digunakan dimulai di sel kiri atas di lembar kerja yang berisi data. Jika Anda memilih alamat rentang tertentu atau rentang yang ditentukan, jendela langsung menampilkan konten dari rentang tersebut pada lembar kerja.

Untuk menggunakan Active server Pages (ASP):

  1. Buat folder baru bernama Excelado dalam direktori Beranda server web Anda. Perhatikan bahwa jalur default untuk direktori Beranda adalah C:\InetPut\WWWRoot.

  2. Salin file berikut ini ke folder yang Anda buat di langkah sebelumnya:

    • EmpData.asp

    • Orders.asp

    • Data.mdb

    • EmpDataTemplate.xls

    • OrdersTemplate.xls

  3. Skrip ASP dalam contoh ini membuat salinan Templat buku kerja dengan metode penyalinanFileSystemObject. Agar metode penyalinan berhasil, klien yang mengakses skrip harus memiliki akses tulis ke folder yang berisi ASP.

  4. Navigasikan ke orders. asp (yaitu, http://YourServer/ExcelADO/Orders.ASP), dan perhatikan bahwa browser menampilkan buku kerja Excel yang sama dengan yang ada di contoh 1 aplikasi Visual Basic.

  5. Navigasikan ke EmpData. asp (yaitu, http://YourServer/ExcelADO/EmpData.ASP), dan perhatikan bahwa browser menampilkan buku kerja Excel yang sama dengan yang ada di sampel 2 aplikasi Visual Basic.

(c) Microsoft Corporation 2000, Semua hak dilindungi. Kontribusi dari Lori B. Turner, Microsoft Corporation.

Referensi

Untuk informasi tambahan, klik nomor artikel berikut ini untuk menampilkan artikel di Basis Pengetahuan Microsoft:

195951 HOWTO: kueri dan Perbarui data Excel menggunakan ADO dari ASP

194124 PRB: nilai Excel yang dikembalikan sebagai NULL menggunakan DAO OpenRecordset

193998 HOWTO: membaca dan menampilkan data biner di ASP

247412 INFO: metode untuk mentransfer data ke Excel dari Visual Basic

257819 HOWTO: menggunakan ADO dengan data Excel dari Visual Basic atau VBA

Perlu bantuan lainnya?

Kembangkan keterampilan Anda
Jelajahi pelatihan
Dapatkan fitur baru terlebih dahulu
Gabung Microsoft Insider

Apakah informasi ini bermanfaat?

Terima kasih atas umpan balik Anda!

Terima kasih atas umpan balik Anda! Sepertinya menghubungkan Anda ke salah satu agen dukungan Office kami akan sangat membantu.

×