Mode Malam
| Mode Tampilan
Penulis : admin

Home » Programming » Membuat Fungsi Import Data Excel Kedalam DataGridView - VB.NET
Membuat Fungsi Import Data Excel Kedalam DataGridView - VB.NET

Membuat Fungsi Import Data Excel Kedalam DataGridView - VB.NET


Di artikel sebelumnya kita pernah bembuat fungsi untuk mengeksport data dari datagridview kedalam bentuk excel file. Di artikel kali ini maka kita akan membuat sebuah fungsi untuk memimport data excel ke dalam datagridview. Libaray yang kita gunakan juga sama seperti untuk mengexport data yaitu closedxml. Oke kita langsung saja ke tutorialnya.

advertisement

  1. Silahkan download library closedxml seperti pada artikel cara mengexport datagridview ke dalam excel file, melalui nuget package manager di visual studio.
  2. Buat sebuah excel file dengan baris dan kolomnya dengan extensi .xlsx. Contohnya seperti gambar berikut.
    Cara Import Data Excel Kedalam DataGridView - VB.NET
  3. Kemudian kalian buat sebuah module dengan nama ModuleHelper dan copy paste code berikut di dalamnya.
    Imports System.Text.RegularExpressions
    Imports ClosedXML.Excel
    
    Module ModuleHelper
        Sub ImportExcelToDgv(ByVal dgv As DataGridView, sheetName As String, startCell As String, endCell As String)
            Try
                Dim workbook As XLWorkbook
                Dim ofd As New OpenFileDialog
    
                ofd.Filter = "Excel files (*.xlsx, *.xls) | *.xlsx; *.xls"
                If ofd.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
                    workbook = New XLWorkbook(ofd.FileName)
                    Dim wsheet = workbook.Worksheet(sheetName)
    
                    Dim startRow = CInt(System.Text.RegularExpressions.Regex.Replace(startCell, "[^\d]", ""))
                    Dim endRow = CInt(System.Text.RegularExpressions.Regex.Replace(endCell, "[^\d]", ""))
                    Dim startColumn = wsheet.Row(startRow).Cell(Regex.Replace(startCell, "\d+$", "")).Address.ColumnNumber - 1
                    Dim endColumn = wsheet.Row(startRow).Cell(Regex.Replace(endCell, "\d+$", "")).Address.ColumnNumber - 1
    
                    '------Get Value Data
                    Dim dt As New DataTable()
                    For i = startColumn To endColumn
                        Dim dc As New DataColumn()
                        dc.ColumnName = wsheet.Rows(startRow).Cells(i).Value.ToString
                        dc.DataType = GetType(String)
                        dt.Columns.Add(dc)
                    Next
                    Dim ctr = startRow + 1
                    While ctr <> endRow
                        Dim dr As DataRow = dt.NewRow
                        For i = startColumn To endColumn
                            dr(i) = wsheet.Rows(ctr).Cells(i).Value
                        Next
                        dt.Rows.Add(dr)
                        ctr = ctr + 1
                    End While
                    dgv.DataSource = dt
                End If
            Catch ex As Exception
                MsgBox(ex.Message.ToString)
            End Try
        End Sub
    
    End Module

    Untuk mengimport data dari excel file kita menggunakan Mehtod ImportExcelToDgv dengan beberapa parameter masukan yaitu.

  • DataGridView yang akan digunakan untuk menampilkan data dari excel
  • Nama Sheet yang dari file excel yang akan di ambil datanya
  • Cell pertama dari data yang akan di ambil.
  • Cell terakhir dari data yang akan di ambil. 

Cara Import Data Excel Kedalam DataGridView - VB.NETContoh cara penggunakan sebagai berikut.

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    ImportExcelToDgv(DataGridView1, "Sheet1", "A1", "I11")
End Sub

advertisement

Sekian dulu tutorial cara import file excel ke dalam datagridview. 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.

Tags: #vbnet #datagridview #importexcel
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