Terkadang setiap pekerjaan kantor tidak bisa lepas dari yang namanya dokumen Excel. Hampir semua pengguna komputer pasti menggunakan Microsoft Office Excel untuk membuat beragam dokumen, baik untuk pembuatan laporan, database, perhitungan dan lain sebagainya. Tentunya bagi anda yang bergelut di dunia pemrograman, harus mempu memenuhi kebutuhan dari user yang ada dikantor anda bekerja maupun pengguna program anda terkhusus masalah export data dari database ke format dokumen excel. Berikut ini saya tunjukkan cara mengeksport data dari komponen DataGridView ke dokumen excel menggunakan Visual Basic .Net. Buat sebuah project dengan nama ExportDataToExcel.
Desain form seperti dibawah ini
Klik dua kali pada form kemudian ketikkan listing kode berikut
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim conn As New OleDb.OleDbConnection(My.Settings.Koneksi)
conn.Open()
Dim adp As New OleDb.OleDbDataAdapter("Select * From Customers", conn)
Dim dt As New DataTable
adp.Fill(dt)
Me.datagrid.DataSource = dt
End Sub
Klik dua kali pada tombol Export Data dan ketikkan listing kode berikut
Private Sub btnExport_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExport.Click
Dim sfd As New SaveFileDialog
sfd.Filter = "Microsoft Excel File (*.xls)|*.xls"
If sfd.ShowDialog = Windows.Forms.DialogResult.OK Then
If Me.datagrid.Rows.Count > 0 Then
Try
Dim dt As New DataTable()
For Each col As DataGridViewColumn In Me.datagrid.Columns
dt.Columns.Add(col.HeaderText, col.ValueType)
Next
Dim count As Integer = 0
For Each row As DataGridViewRow In Me.datagrid.Rows
If count < Me.datagrid.Rows.Count - 1 Then
dt.Rows.Add()
For Each cell As DataGridViewCell In row.Cells
dt.Rows(dt.Rows.Count - 1)(cell.ColumnIndex) = cell.Value.ToString()
Next
End If
count += 1
Next
Dim wr As New IO.StreamWriter(sfd.FileName)
For i As Integer = 0 To dt.Columns.Count - 1
wr.Write(dt.Columns(i).ToString().ToUpper() & vbTab)
Next
wr.WriteLine()
For i As Integer = 0 To (dt.Rows.Count) - 1
For j As Integer = 0 To dt.Columns.Count - 1
If dt.Rows(i)(j) IsNot Nothing Then
wr.Write(Convert.ToString(dt.Rows(i)(j)) & vbTab)
Else
wr.Write(vbTab)
End If
Next
wr.WriteLine()
Next
wr.Close()
MsgBox("Data berhasil diexport ke excel!", MsgBoxStyle.Information, "Information")
Catch ex As Exception
Throw ex
End Try
End If
End If
End Sub
Mulai jalankan project anda.
Klik tombol Export Data ketikkan nama dokumen file excel yang akan disimpan, sebagai contoh saya buat Data Customer kemudian pilih OK
Akan muncul pesan Data berhasil diexport ke excel!
Cari dan buka file excel hasil export tadi dan tampilannya seperti dibawah ini
Silahkan anda kembangkan lagi dengan menambahkan warna pada kolom header dan lain sebagainya, semoga bermanfaat.
Microsoft Excel
,
Tips & Trik
,
Visual Basic .Net








Tidak ada komentar:
Posting Komentar