Senin, 29 Januari 2018

Export Data ke Excel dari DataGridView dengan Visual Basic .Net

Tidak ada komentar:
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.
, ,

Tidak ada komentar:

Posting Komentar