Jumpa lagi dengan tips, trik dan teknik seputar IT, pada kesempatan ini ane bakal share bagaimana caranya export data dari database yang ditampilkan di DataGridView dari aplikasi yang kita buat di .Net bisa di export menjadi file berformat xlsx atau file Microsoft Excel. Pertama-tama alat perang yang kita butuhkan antara lain:
- Library Microsoft.Office.Interop.Excel yang agan-agan bisa download di sini
- IDE Visual studio dan secangkir kopi
Pertama-tama kita buat sebuah database terlebih dahulu, bisa
database sql ataupun Ms.Access keduanya sama saja, yang berbeda hanya pada
syntax koneksi databasenya. Disini sebagai contoh kita gunakan MS.Access ,
seperti yang ditunjukan gambar dibawah ini. Saya membuat database bernama dbjnm
dengan tabel bernama barang dengan
field-field sebagaimana berikut:
Rancangan database |
Selanjutnya tekan F7 dan copas listing koneksi database
berikut
Imports System.Data.OleDb
Public Class Form1
Dim Conn As OleDbConnection
Dim cmd As OleDbCommand
Dim da As OleDbDataAdapter
Dim ds As New DataSet
Dim dr As OleDbDataReader
Dim LokasiDB As String
Sub Koneksi()
LokasiDB = "Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=dbjnm.accdb"
Conn = New OleDbConnection(LokasiDB)
If Conn.State = ConnectionState.Closed Then Conn.Open()
End Sub
End Class
Ada
baiknya bila kita sering menggunakan sebuah kumpulan perintah seperti listing
koneksi diatas dapat kita buatkan modul tersendiri, sehingga mudah dipanggil
dari class manapun. Sesudah itu kita save dan file database yang tadi kita
buat, kita pindahkan ke folder ./bin/debug dari project kita,yang selanjutnya
kembali ke visual studio form1 design, click 2x pada form, dan copas code dibawah
ini:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Koneksi()
da = New OleDbDataAdapter("Select * from
barang", Conn)
ds = New DataSet
ds.Clear()
da.Fill(ds, "barang")
DataGridView1.DataSource = (ds.Tables("barang"))
DataGridView1.Enabled = True
Conn.Close()
End Sub
Dari sini
database sudah dapat ditampilkan bila kita start aplikasi yang kita buat
bersamaan dengan dimuatnya form1, bila ada kesulitan khususnya database Accsess
jangan lupa check Target CPU nya
sebaiknya x86 pada tab Compile di Project Properties seperti yang pernah kita bahas di artikel sebelumnya.
Selanjutnya
kita masukan Library Microsoft.Office.Interop.Excel ke project kita dengan cara click
kanan pada nama project di solution explorer dan pilih Properties yang akan
menampilkan jendela properties yang selanjutnya pilih tab References dan click
tombol add seperti gambar dibawah
Yang mana
akan menampilkan jendela reference manager, yang selanjutnya kita click tombol
browse dan arahkan ke folder dimana agan mengextract library Microsoft.Office.Interop.Excel.dll
tersebut, selanjutnya cukup pilih file tersebut click Ok dan kembali ke Form1
design. Sesudahnya kita tekan tombol F7 untuk menampilkan jendela kode, untuk
membuat fungsi excel dan release object dengan cukup mencopas listing code
berikut ini:
Sub excel()
Dim xlApp As Microsoft.Office.Interop.Excel.Application
Dim xlWorkBook As Microsoft.Office.Interop.Excel.Workbook
Dim xlWorkSheet As Microsoft.Office.Interop.Excel.Worksheet
Dim misValue As Object = System.Reflection.Missing.Value
Dim i As Integer
Dim j As Integer
xlApp = New Microsoft.Office.Interop.Excel.ApplicationClass
xlWorkBook = xlApp.Workbooks.Add(misValue)
xlWorkSheet = xlWorkBook.Sheets("sheet1")
For i = 0 To DataGridView1.RowCount - 2
For j = 0 To DataGridView1.ColumnCount - 1
For k As Integer = 1 To DataGridView1.Columns.Count
xlWorkSheet.Cells(1, k) =
DataGridView1.Columns(k - 1).HeaderText
xlWorkSheet.Cells(i + 2, j
+ 1) = DataGridView1(j, i).Value.ToString()
Next
Next
Next
SaveFileDialog1.Filter = "XLSX Files (*.xlsx)|*.xlsx"
If SaveFileDialog1.ShowDialog = System.Windows.Forms.DialogResult.OK Then
xlWorkSheet.SaveAs(SaveFileDialog1.FileName)
xlWorkBook.Close()
xlApp.Quit()
releaseObject(xlApp)
releaseObject(xlWorkBook)
releaseObject(xlWorkSheet)
End Sub
Private Sub releaseObject(ByVal obj As Object)
Try
System.Runtime.InteropServices.Marshal.ReleaseComObject(obj)
obj = Nothing
Catch ex As Exception
obj = Nothing
Finally
GC.Collect()
End Try
End Sub
Selanjutnya
kita kembali ke Form1, click 2x pada tombol Button1 dan ketik perintah untuk
memanggil fungsi export ke excel tersebut, seperti code berikut:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
excel()
End Sub
Lalu kita
start untuk jalankan programnya, maka data di GridView akan dapat disimpan
dalam format excel setelah kita meng click button1 (tombol yang disediakan) seperti
gambar dibawah:
Untuk
source code lengkapnya seperti dibawah ini:
Demikian
tutorial cara mengexport DataGridView dari database ke file berformat xlsx
(MS.Excel), semoga bermanfaat..
0 comments:
Post a Comment