Mode Malam
| Mode Tampilan
Penulis : admin

Home » Programming » Membuat Fungsi Export Excel DataGridView Di VB.NET
Membuat Fungsi Export Excel DataGridView Di VB.NET

Membuat Fungsi Export Excel DataGridView Di VB.NET


Melakukan exporting data kedalam bentuk Excel File dapat dilakukan dengan mudah menggunakan library ClosedXML.dll, namun data yang dapat di proses secara otomatis hanya berupa DataSet. Seperti pada syntax berikut ini.

Using wb As New XLWorkbook
   wb.Worksheets.Add(mDataSet)
   wb.SaveAs("Test.xlsx")
End Using

Lalu bagaimana jika kita ingin mengexport data excel tersebut langsung dari  data yang di tampilkan di DataGridView?.

Pada Artikel kali ini, kita akan membuat sebuah fungsi yang dapat mengkonversi data yang di representasikan dalam DataGridView menjadi excel file.

advertisement

Kita langsung saja ke tutorialnya.

  1. Download ClosedXml.dll di Nuget Manager. Caranya di menu bar visual studio klik Project - Manage Nuget Package. Pilih tab Browser kemudian di kolom pencarian tulis ClosedXml kemudian Install, seperi gambar berikut.
    ClosedXML library
  2. Buat sebuah Module dengan nama ModuleHelper, kemudian paste syntax berikut.
    Imports ClosedXML.Excel
    
    Module ModuleHelper
        Sub ExportDgvToExcel(ByVal dgv As DataGridView)
            Try
                If dgv Is Nothing OrElse dgv.RowCount <= 0 Then
                    MsgBox("The Data is empty!!!")
                    Exit Sub
                End If
                Dim sfdExcel As SaveFileDialog = New SaveFileDialog
                sfdExcel.Filter = "Excel File|*.xlsx"
                sfdExcel.Title = "Save an Excel File"
                sfdExcel.ShowDialog()
                If sfdExcel.FileName = "" Then
                    MsgBox("Please Type File Name")
                    Exit Sub
                End If
                Dim wb As XLWorkbook = New XLWorkbook
                wb.AddWorksheet(Format(Now, "dd MMM yy"))
                Dim ws = wb.Worksheet(Format(Now, "dd MMM yy"))
                For Each column As DataGridViewColumn In dgv.Columns
                    ws.Cell(1, column.Index + 1).Value = column.HeaderText
                    With ws.Cell(1, column.Index + 1).Style
                        .Font.Bold = True
                        .Alignment.Horizontal = XLAlignmentHorizontalValues.Center
                        .Border.OutsideBorder = XLBorderStyleValues.Thin
                        .Fill.BackgroundColor = XLColor.LightGreen
                    End With
                    ws.RowHeight = dgv.ColumnHeadersHeight
                Next
                For Each row As DataGridViewRow In dgv.Rows
                    For Each cell As DataGridViewCell In row.Cells
                        ws.Cell(cell.RowIndex + 2, cell.ColumnIndex + 1).Value = cell.Value.ToString
                    Next
                Next
                wb.SaveAs(sfdExcel.FileName)
                If MsgBox("Do You Want To Open File", vbQuestion + vbYesNo, "Question?") = vbYes Then
                    Process.Start(sfdExcel.FileName)
                End If
            Catch ex As Exception
                MessageBox.Show(ex.Message)
                'WriteErrorLog("sub saveExcelFile Form7--> Error saat export data")
            End Try
        End Sub
    End Module

Sekarang kita sudah dapat mengeksport data yang ada di dalam DataGridView menggunakan fungsi ExportDgvToExcel. Cara kerjanya sebenernya sederhana, hanya membaca setiap kolom yang ada di DataGridView yang ingin di export kemudian memasukannya ke baris pertama di Excel File yang di buat menggunakan ClosedXml tadi, kemudian membaca setiap baris dan nilai setiap cellnya dan memasukannya ke baris ke 2 to N di cell excel.

Kemudian untuk menggunkan fungsi yang tadi sudah kita buat yaitu seperti berikut

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        ExportDgvToExcel(Me.DataGridView1) ' Cara ganti dengan nama DataGridView kalian
End Sub

advertisement

Sekian dulu tutorial cara export DataGridView ke dalam Excel File. Jangan lupa di share jika kalian merasa artikel ini bermanfaat, dan jangan lupa tinggalkan jejak dengan berkomentar dibawah ini. File projectnya bisa kalian download di sini.

Note: Data cell DataGridView tidak bisa berupa gambar ataupun control tertentu, hanya boleh Angka ataupun Huruf. Next tutorial kita akan modifikasi fungsi tersebut agar bisa mengekspor gambar.

Tags: #closedxml #datagridview #vbnet #tips&trick
Bagikan :

Komentar:

Silahkan berkomentar dengan baik dan bijak!

Name * :
Email :
Website :
Comment :


This website uses cookies to ensure you get the best experience on our website

learn more