Home » , » Cara Export Database Ke Excel Dengan Visual Basic 6

Cara Export Database Ke Excel Dengan Visual Basic 6



Bagi anda para software developer baik itu yang menggunakan database seperti MS Access ataupun database RDBMS seperti MS SQL Server, Oracle, MySQL dll, tentu anda pernah menginginkan agar data anda bisa dieksport ke format MS Excell untuk tujuan lainnya seperti ingin mempercantik format tampilan, sebagai bahan pembuatan laporan dan lain sebagainya. Walaupun ada banyak tool yang tersedia di internet untuk melakukan hal ini, tetapi mungkin saja anda ingin mengintegrasikan kemampuan ini dalam aplikasi yang anda buat. Adapun versi Visual Basic yang saya gunakan adalah Visual Basic versi 6.0 dan microsoft office yang saya gunakan adalah Microsoft Office 2003 (MS Office 11).
Persiapan
Aplikasi ini akan kita gunakan untuk mengeksport data dari database Microsoft Access. Buat sebuah folder baru di drive C dan beri nama "ToExcel". Kemudian kita akan membuat sebuah database Microsoft Access langkahnya sebagai berikut : Klik Start Menu | Program | Microsoft Office Access 2003. Setelah masuk ke IDE microsoft access, klik menu File | New. Di menubar sebelah kanan pilih "Blank Database". Kemudian sebuah kotak dialog "File New Database" akan muncul. Simpan file tersebut di folder "ToExcel" yang telah kita buat tadi dan beri nama sample.mdb.
Buat sebuah tabel dengan struktur data seperti dibawah ini :
NIK text(10),Nama text(50),Jabatan text(30). Simpan tabel tersebut dan beri nama Karyawan. Kemudian isi beberapa data kedalam table tersebut.
Pembuatan Aplikasi
Jalankan MS Visual Basic : klik Start Menu | Program | Microsoft Visual Basic 6.0 | Microsoft Visual Basic 6.0. Setelah masuk ke Visual Basic IDE, kita akan melihat window yang mempunyai tiga tab dengan title "New Project".

Pilih "Standard EXE", kemudian akan muncul Project1 – Form1. klik menu File | Save Project As untuk menyimpan project ini. Simpan Form dengan nama FtoExcel.frm dan dengan projectnya dengan nama ExcelExport.vbp.
Agar visual basic dapat menggunakan library untuk microsoft excel, maka kita harus mengaktifkan Library microsoft excel ini dengan cara : klik menu Project | References. Ini akan memunculkan window "References – Project1". Di dalam window ini terdapat banyak object library yang bisa digunakan untuk visual basic IDE. Kemudian centang object library yang berlabel "Microsoft Excel 11.0 Object Library" atau library "Microsoft Excel 10.0 Object Library" untuk pengguna Microsoft Office 2000 dan "Microsoft Excel 12.0 Object Library" untuk pengguna Microsoft Office 2007.
Ini akan memberitahukan kepada visual basic bahwa kita akan menggunakan object library dari Microsoft Office Excel 11.0 atau versi microsoft office excel yang anda gunakan.
Interface Aplikasi
Sekarang kita mulai dengan interface. Tambahkan sebuah CommandButton, DataGrid, Adodc dan sebuah label. Set nilai property masing-masing komponen sesuai dengan gambar dibawah ini :
Sehingga tampilannya seperti gambar dibawah ini :
Setting Database Path
Dalam men-set ConnectionString pada komponen adodc kita menggunakan path relative sebagai berikut :
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=sample.mdb;Persist Security Info=False" . tidak menggunakan path absolute sebagai berikut :
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\ToExcel\sample.mdb;Persist Security Info=False".
Cara pertama (dengan path relative) akan membuat aplikasi lebih fleksibel. Maksudnya, meskipun aplikasi ini dipindahkan ke folder lain asalkan databasenya (.mdb) juga ditempatkan di folder yang sama dengan aplikasi (.exe) tersebut, aplikasi ini tidak akan mengalami error dan tidak perlu merubah source code dari aplikasi tersebut.
Coding
Klik kanan pada DataGrid1 pilih Retrieve Fileds untuk memasukan
field-field dari tabel karyawan ke komponen DataGrid1 secara otomatis.
Sehingga tampilannya akan seperti gambar dibawah ini :
Langkah selanjutnya adalah mengisikan kode program ke dalam masing-masing komponen.
klik di sembarang tempat di pada komponen Form1 kemudian tekan tombol F7
ini akan memunculkan "Code Window".
Isikan beberapa baris kode program berikut pada bagian paling atas sebelum kode Private Sub Form_Load().

---
Option Explicit
Dim koneksi_ado As ADODB.Connection
Dim rskaryawan As ADODB.Recordset
---
Kode diatas mendeklarasikan variabel koneksi_ado sebagai adodb conection dan rskaryawan sebagai adodb recordset.

Dobel Klik Komponen Form1, kemudian ketik kode berikut :
---
Dim SQLStr As String
Set koneksi_ado = New ADODB.Connection
Set rskaryawan = New ADODB.Recordset
koneksi_ado.ConnectionString= & _
"Provider=Microsoft.Jet.OLEDB.4.0; & _
Password=;Data Source=" & App.Path & "\sample.mdb" & _
";Persist Security Info=True"
koneksi_ado.Open
Adodc1.Enabled = True
SQLStr = "select * from karyawan order by nama"
rskaryawan.Open SQLStr, koneksi_ado, adOpenDynamic, adLockOptimistic
DataGrid1.Refresh
Label1.Caption = "Status :"
---

Kode diatas akan dieksekusi pada event form_load sehingga kode diatas akan dieksekusi ketika sebuah aplikasi pertama dijalankan.
Langkah selanjutnya, mengisikan kode program utama yang akan di picu oleh komponen CommandButton1. Dobel klik CommandButton1, kemudian ketik kode berikut :
---
Dim EXCELAPPKU As Excel.Application
Dim excelbookku As Excel.Workbook
Dim excelsheetku As Excel.Worksheet
Dim baris, datake As Integer
Label1.Caption = "Status : Prosesing Data...."
Set EXCELAPPKU = New Excel.Application
Set excelbookku = EXCELAPPKU.Workbooks.Add
With EXCELAPPKU
.StandardFontSize = "10"
End With
EXCELAPPKU.Visible = True
Set excelsheetku = excelbookku.Worksheets(1)
excelsheetku.Select
Range("A1:C1").Select
Selection.MergeCells = True
Selection.HorizontalAlignment = xlCenter
ActiveCell.FormulaR1C1 = UCase("Data Karyawan")
Selection.Font.Bold = True
Selection.Font.Name = "Verdana"
With excelsheetku
.Cells(2, 1).Value = "NIK"
.Cells(2, 2).Value = "Nama"
.Cells(2, 3).Value = "Jabatan"
Label1.Caption = "Status : Prosesing Data..."
baris = 3
datake = 0
If Not rskaryawan.BOF Then
rskaryawan.MoveFirst
While Not rskaryawan.EOF
Label1.Caption = "Status : Exporting Data ke " & datake
Label1.Refresh
datake = datake + 1
.Cells(1, 5).Value = "Fetching data ke " & datake
.Cells(baris, 1) = rskaryawan![NIK]
.Cells(baris, 2) = rskaryawan![nama]
.Cells(baris, 3) = rskaryawan![jabatan]
baris = baris + 1
rskaryawan.MoveNext
Wend
End If
.Cells(1, 5).ClearContents
.Columns("A:A").EntireColumn.AutoFit
.Columns("B:B").EntireColumn.AutoFit
.Columns("C:C").EntireColumn.AutoFit
End With
rskaryawan.Close
Label1.Caption = "Status : Selesai."
On Error GoTo 0
Set excelsheetku = Nothing
Set excelbookku = Nothing
EXCELAPPKU.Quit
MsgBox "Export data selesai", vbInformation, "Informasi"
---

Sekarang anda pilih menu Run | Start untuk menjalankan aplikasi. Tekan tombol "Eksport" untuk melihat outputnya.
Berikut ini gambar aplikasi pada saat runtime :


 thanks to ariwinard.blogspot.com

Written by : Ihksan Fauzi - Tentang Saya

Bukan siapa-siapa dan bukan apa-apa. Hanya NewBie Yang mencoba berbagi apa yang saya peroleh.

Join Me On: Facebook | Google Plus :: Thank you for visiting ! ::