Sunday, 24 March 2013

Cara Mengakses dan mengelola MS Excel lembar dengan Delphi

Metode untuk mentransfer data antara Excel dan Delphi. Bagaimana menghubungkan ke Excel dengan ADO dan Delphi.
    
Membuat editor spreadsheet Excel menggunakan Delphi dan ADO
    
Mengambil data dari Excel. Bagaimana referensi tabel (atau kisaran) dalam buku kerja Excel.
    
Sebuah diskusi tentang Excel field (kolom) jenis
    
Bagaimana mengubah lembar Excel: mengedit, menambah, dan menghapus baris.
    
Mentransfer data dari aplikasi Delphi ke Excel. Cara membuat lembar kerja, dan mengisinya dengan "kebiasaan" (dari database Access) data.
Hubungkan ke: MS ExcelMicrosoft Excel adalah kalkulator spreadsheet yang kuat dan alat analisis data. Karena baris dan kolom dari lembar kerja Excel erat berhubungan dengan baris dan kolom tabel database, banyak pengembang menemukan yang tepat untuk mengangkut data mereka ke dalam sebuah workbook Excel untuk keperluan analisis, dan mengambil data kembali ke aplikasi sesudahnya.
Pendekatan yang paling umum digunakan untuk pertukaran data antara aplikasi Anda dan Excel Otomasi. Otomasi menyediakan cara untuk membaca data Excel menggunakan Excel Object Model untuk menyelam ke dalam worksheet, ekstrak data, dan menampilkannya dalam komponen grid-seperti, yaitu DBGrid atau StringGrid. Otomasi memberi Anda fleksibilitas terbesar untuk mencari data dalam buku kerja serta kemampuan untuk memformat worksheet dan membuat berbagai pengaturan pada saat dijalankan.
Untuk mentransfer data ke dan dari Excel tanpa Otomasi, Anda dapat menggunakan metode lain seperti:Menulis data ke file teks dipisahkan oleh koma, dan membiarkan Excel mengurai file ke dalam sel,Transfer data menggunakan DDE (Dynamic Data Exchange),Mentransfer data ke (dan dari) sebuah worksheet menggunakan ADO.Transfer data menggunakan ADOKarena Excel adalah JET OLE DB compliant, Anda dapat terhubung ke dengan Delphi menggunakan ADO (dbGO atau AdoExpress) kemudian mengambil data worksheet ke dalam sebuah dataset ADO dengan mengeluarkan query SQL - seperti Anda akan membuka dataset terhadap setiap tabel database. Dengan cara ini, semua metode dan fitur dari objek ADODataset tersedia untuk memproses data Excel. Dengan kata lain, dengan menggunakan komponen ADO, Anda dapat membangun sebuah aplikasi yang dapat menggunakan buku kerja Excel sebagai database. Fakta lain yang penting adalah bahwa Excel adalah out-of-proses ActiveX server. ADO berjalan di-proses, dan menyimpan overhead mahal out-of-proses panggilan.
Bila Anda terhubung ke Excel menggunakan ADO, Anda hanya dapat bertukar data mentah ke dan dari workbook. ADO koneksi tidak dapat digunakan untuk memformat sheet atau menerapkan rumus untuk sel. Namun, jika Anda mentransfer data ke worksheet yang pra-diformat, format dipertahankan. Setelah data dimasukkan dari aplikasi Anda ke Excel, Anda dapat melakukan apapun format kondisional menggunakan makro (pra-rekaman) dalam worksheet.
Anda dapat terhubung ke Excel menggunakan ADO dengan dua Penyedia OLE DB yang merupakan bagian dari MDAC: Microsoft Jet OLE DB Provider atau Microsoft OLE DB Provider untuk ODBC Drivers. Artikel ini akan berfokus pada DB Provider Jet OLE yang dapat digunakan untuk mengakses data dalam buku kerja Excel, melalui Metode diinstal Access Indexed Sequential (ISAM) driver.
Jika Anda baru untuk ADO, saya sarankan Anda untuk terlebih dahulu membaca "Kursus Pemula Delphi database ADO Pemrograman"
Magic ConnectionStringProperti ConnectionString memberitahu ADO cara untuk terhubung ke sumber data. Nilai yang digunakan untuk ConnectionString terdiri dari satu atau lebih argumen ADO digunakan untuk membuat sambungan. Di Delphi, komponen TADOConnection merangkum objek koneksi ADO, bisa dibagi oleh beberapa dataset ADO (TADOTable, TADOQuery, ...) komponen melalui properti Connection mereka.
Dalam rangka untuk menyambung ke Excel, string koneksi yang valid hanya melibatkan dua (tambahan) potongan informasi: path lengkap ke buku kerja, dan versi file Excel. Dengan kata lain, string koneksi yang sah bisa terlihat seperti:

ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyWorkBooks\myDataBook.xls;Extended Properties=Excel 8.0;';
Bila Anda ingin terhubung ke format database eksternal didukung oleh Jet, Anda perlu mengatur properti diperpanjang untuk sambungan. Dalam kasus kami, saat menghubungkan ke Excel "database", sifat diperpanjang digunakan untuk mengatur versi file Excel.
Untuk workbook Excel95 nilai ini adalah "Excel 5.0" (tanpa tanda kutip), untuk versi Excel 97, Excel 2000, Excel 2002 atau ExcelXP nilai adalah "Excel 8.0".

     Perhatian: Anda harus menggunakan Provider Jet 4.0, karena Jet 3,5 tidak mendukung driver ISAM. Jika Anda mengatur Provider Jet ke versi 3,5 Anda akan menerima "Tidak dapat menemukan ISAM diinstal." pesan kesalahan.

Properti lain Jet diperpanjang "HDR =". "HDR = Yes" berarti bahwa ada baris judul dalam kisaran, sehingga Jet tidak akan menyertakan baris pertama seleksi ke dataset. Jika "HDR = No" yang ditentukan, maka provider akan mencakup baris pertama dari kisaran (atau kisaran bernama) ke dataset. Baris pertama dalam kisaran dianggap baris header secara default ("HDR = Yes"), oleh karena itu jika Anda memiliki kolom judul Anda tidak perlu menentukan nilai ini. Jika Anda tidak memiliki judul kolom, Anda perlu menentukan "HDR = No";

Semua siap. Ini adalah bagian di mana hal-hal menjadi menarik, kita sekarang siap untuk beberapa kode. Mari kita lihat bagaimana membuat editor Excel Spreadsheet sederhana menggunakan Delphi dan ADO ...

0 comments:

Post a Comment