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