Eksport Database Ke File Excel Dengan VB. Pada postingan sebelumnya kita membahas cara Import Database Dari File Excel, untuk kesempatan kali ini saya akan membahas tentang cara eksport database ke ms excel seperti yang telah saya janjikan sebelumnya.
Pada postingan ini saya akan menggunakan database ms access kemudian kita lakukan eksport ke ms excel, trik ini dapat anda terapkan pada database selain ms access misalnya MySQL SERVER, MS SQL SERVER atau pun yang lainnnya tinggal mengganti koneksi databasenya saja.
Data yang dieksport alurnya seperti ini : data di tampilkan di msflexgrid lalu kita eksport ke excel, jadi data yang tampil di msflexgrid saja yang kita eksport nantinya, jadi kita bisa menentukan data yang mana saja yang ingin kita eksport.
Bagaimana Cara Eksport Database Ke File Excel Dengan VB ? Ikutilah caranya sebagai berikut ini :
Buka Visual Basicnya kemudian buatlah sebuah form seperti berikut ini
Lalu Cari dan tambahkan references Microsoft ActiveX Data Object 2.x Librari dan ms excel 14 Object Library kalau tidak ada ms Excel 14 bisa versi 12 atau yang lebih rendah , caranya klik menu Project-References maka akan muncul jendela seperti gambar berikut ini lalu cari dan centang Object Library yang dimaksuhkan kemudin klik ok.
Jika sudah selanjutnya membuat koding. sebelumnya tambahkan sebuah modul caranya klik menu Project-Add Modul kemudian ketiklah koding berikut ini
Kemudian double klik formnya lalu ketikkan koding berikut ini pada form load yang berfungsi untuk menampilkan data pada grid
Kemudian pada bagian general declaration ketikan koding berikut ini :
Jika sudah ketikan koding berikut ini pada tombol Eksport
Untuk lebih jelasnya lihat gambar berikut ini...
Jika sudah semua silahkan di run koding diatas sudah bisa untuk melakukan eksport data.
Untuk koding tombol refresh,tombol close dan pencarian data tidak saya jelaskan di sini, untuk koding lengkapnya silahkan download source codenya yang saya sertakan link downloadnya di akhir tulisan ini. Untuk melakukan eksport database ke ms excel dengan koding yang telah saya jelaskan di atas sudah bisa digunakan.
Tags:
Eksport Database, Excel, Eksport Import Database, Visual Basic 6,Eksport Database Ke File Excel Dengan VB,Cara Eksport Database Ke File Excel Dengan VB
Pada postingan ini saya akan menggunakan database ms access kemudian kita lakukan eksport ke ms excel, trik ini dapat anda terapkan pada database selain ms access misalnya MySQL SERVER, MS SQL SERVER atau pun yang lainnnya tinggal mengganti koneksi databasenya saja.
Data yang dieksport alurnya seperti ini : data di tampilkan di msflexgrid lalu kita eksport ke excel, jadi data yang tampil di msflexgrid saja yang kita eksport nantinya, jadi kita bisa menentukan data yang mana saja yang ingin kita eksport.
Bagaimana Cara Eksport Database Ke File Excel Dengan VB ? Ikutilah caranya sebagai berikut ini :
Buka Visual Basicnya kemudian buatlah sebuah form seperti berikut ini
Tampilkan Gambar
Lalu Cari dan tambahkan references Microsoft ActiveX Data Object 2.x Librari dan ms excel 14 Object Library kalau tidak ada ms Excel 14 bisa versi 12 atau yang lebih rendah , caranya klik menu Project-References maka akan muncul jendela seperti gambar berikut ini lalu cari dan centang Object Library yang dimaksuhkan kemudin klik ok.
Tampilkan Gambar
Jika sudah selanjutnya membuat koding. sebelumnya tambahkan sebuah modul caranya klik menu Project-Add Modul kemudian ketiklah koding berikut ini
'Untuk koneksi database ms access pd waktu memasukan data ke dlm database
Public Sub KonekDb() Set Conn = New ADODB.Connection Conn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\DB_MHS.mdb" Conn.CursorLocation = adUseClient End Sub 'Prosedur Untuk Eksport Public Sub FlexGrid_To_Excel(TheFlexgrid As MSFlexGrid, _ TheRows As Integer, TheCols As Integer, _ Optional GridStyle As Integer = 1, _ Optional WorkSheetName As String) Dim objXL As New Excel.Application Dim wbXL As New Excel.Workbook Dim wsXL As New Excel.Worksheet Dim intRow As Integer ' counter Dim intCol As Integer ' counter If Not IsObject(objXL) Then MsgBox "You need Microsoft Excel to use this function", _ vbExclamation, "Print to Excel" Exit Sub End If On Error Resume Next ' Membuka Excel objXL.Visible = True Set wbXL = objXL.Workbooks.Add Set wsXL = objXL.ActiveSheet ' Nama worksheet With wsXL If Not WorkSheetName = "" Then .Name = WorkSheetName End If End With ' Fill worksheet For intRow = 1 To TheRows For intCol = 1 To TheCols With TheFlexgrid wsXL.Cells(intRow, intCol).Value = _ .TextMatrix(intRow - 1, intCol - 1) & " " End With Next Next ' Format Tampilan Excel For intCol = 1 To TheCols wsXL.Columns(intCol).AutoFit wsXL.Range("a1", Right(wsXL.Columns(TheCols).AddressLocal, _ 1) & TheRows).AutoFormat GridStyle Next End Sub
Kemudian double klik formnya lalu ketikkan koding berikut ini pada form load yang berfungsi untuk menampilkan data pada grid
Private Sub Form_Load() MSFlexGrid1.Clear Call AktifMSFlexGrid1 MSFlexGrid1.Rows = 2 Baris = 0 Call KonekDb Set RsMhs = New ADODB.Recordset RsMhs.Open "SELECT * FROM Tbl_Mhs ORDER BY nim ASC", _ Conn, adOpenDynamic, adLockOptimistic If RsMhs.BOF Then Exit Sub Else With RsMhs .MoveFirst Do While Not .EOF On Error Resume Next Baris = Baris + 1 MSFlexGrid1.Rows = Baris + 1 MSFlexGrid1.TextMatrix(Baris, 0) = Baris MSFlexGrid1.TextMatrix(Baris, 1) = !nim MSFlexGrid1.TextMatrix(Baris, 2) = !nama MSFlexGrid1.TextMatrix(Baris, 3) = !alamat MSFlexGrid1.TextMatrix(Baris, 4) = !jurusan .MoveNext Loop End With End If End Sub
Kemudian pada bagian general declaration ketikan koding berikut ini :
Dim RsMhs As New ADODB.Recordset Dim Baris As Integer 'Untuk Mengatur Tampilan MSFlexGrid1 Sub AktifMSFlexGrid1() MSFlexGrid1.Cols = 5 MSFlexGrid1.RowHeightMin = 300 '------------------------------------------------- MSFlexGrid1.Col = 0 MSFlexGrid1.Row = 0 MSFlexGrid1.Text = "NO" MSFlexGrid1.CellFontBold = True MSFlexGrid1.ColWidth(0) = 500 MSFlexGrid1.AllowUserResizing = flexResizeColumns MSFlexGrid1.CellAlignment = flexAlignCenterCenter '------------------------------------------------- MSFlexGrid1.Col = 1 MSFlexGrid1.Row = 0 MSFlexGrid1.Text = "NIM" MSFlexGrid1.CellFontBold = True MSFlexGrid1.ColWidth(1) = 900 MSFlexGrid1.AllowUserResizing = flexResizeColumns MSFlexGrid1.CellAlignment = flexAlignCenterCenter '------------------------------------------------- MSFlexGrid1.Col = 2 MSFlexGrid1.Row = 0 MSFlexGrid1.Text = "NAMA MAHASISWA" MSFlexGrid1.CellFontBold = True MSFlexGrid1.ColWidth(2) = 2000 MSFlexGrid1.AllowUserResizing = flexResizeColumns MSFlexGrid1.CellAlignment = flexAlignCenterCenter '------------------------------------------------- MSFlexGrid1.Col = 3 MSFlexGrid1.Row = 0 MSFlexGrid1.Text = "ALAMAT" MSFlexGrid1.CellFontBold = True MSFlexGrid1.ColWidth(3) = 2000 MSFlexGrid1.AllowUserResizing = flexResizeColumns MSFlexGrid1.CellAlignment = flexAlignCenterCenter '--------------------------------------------------- MSFlexGrid1.Col = 4 MSFlexGrid1.Row = 0 MSFlexGrid1.Text = "JURUSAN" MSFlexGrid1.CellFontBold = True MSFlexGrid1.ColWidth(4) = 2000 MSFlexGrid1.AllowUserResizing = flexResizeColumns MSFlexGrid1.CellAlignment = flexAlignCenterCenter End Sub
Jika sudah ketikan koding berikut ini pada tombol Eksport
Private Sub CmdEksport_Click() FlexGrid_To_Excel MSFlexGrid1, MSFlexGrid1.Rows, MSFlexGrid1.Cols, 1, "Data Mahasiswa" DoEvents End Sub
Untuk lebih jelasnya lihat gambar berikut ini...
Jika sudah semua silahkan di run koding diatas sudah bisa untuk melakukan eksport data.
Untuk koding tombol refresh,tombol close dan pencarian data tidak saya jelaskan di sini, untuk koding lengkapnya silahkan download source codenya yang saya sertakan link downloadnya di akhir tulisan ini. Untuk melakukan eksport database ke ms excel dengan koding yang telah saya jelaskan di atas sudah bisa digunakan.
Tags:
Eksport Database, Excel, Eksport Import Database, Visual Basic 6,Eksport Database Ke File Excel Dengan VB,Cara Eksport Database Ke File Excel Dengan VB
Artikelnya sangat membantu, terimakasih banyak untuk ilmunya.
ReplyDeleteMantap banget artikel2 bapa
ReplyDeleteKalau MSflexGrid Diganti Pakai DataGrid Bisa Ga ? Gimana Codingnya, terima kasih..
ReplyDeletedalam kolom nim saya coba isi dengan angka lebih dari 16 digit, saat diexport ke xcel angka terakhir menjadi 0000, agar angka akhir tidak jadi 0000 kodingnya apa ya Gan. Trims
ReplyDeleteKolom pada excelnya sudah di coba untuk dilebarin blm mas?
Deletesudah mas...contohnya jika angka 1234567890123456, maka angka terakhir "6" menjadi "0"...jadinya 1234567890120000
DeleteSudah Mas
DeleteKOc sy nyoba debug disini ya, kira-kira knp ya om?
ReplyDeletePublic Sub FlexGrid_To_Excel(TheFlexgrid As MSFlexGrid, _
TheRows As Integer, TheCols As Integer, _
Optional GridStyle As Integer = 1, _
Optional WorkSheetName As String)
Saya nyoba debug dsini, kira-kira kenapa ya om?
ReplyDeletePublic Sub FlexGrid_To_Excel(TheFlexgrid As MSFlexGrid, _
TheRows As Integer, TheCols As Integer, _
Optional GridStyle As Integer = 1, _
Optional WorkSheetName As String)