Rabu, 07 Oktober 2020

Vb.Net: Menampilkan Sheet Pada File Excel

Setelah kita membicarakan bagaimana cara menampilkan data dari excel di datagridview , pertanyaan selanjutnya yakni bagaimana klo kita ingin lebih fleksible memilih sheet mana yang mau ditampilkan. Juga bagaimana cara menerima nama-nama sheet yang ada di file excel tersebut dan menampilkannya dalam sebuah listbox. Mari kita simak contoh berikut: Memodifikasi UI yang telah kita buat di artikel sebelumnya , dengan menyertakan sebuah ListBox. Kemudian kita beranjak ke code: Imports System.Data Imports System.Data.OleDb Public Class frmExcelGrid    'Nama file excel yang dipakai    Dim strFileName As String = "d:\karyawan.xls"    'Untuk memperlihatkan nama sheet di listbox    Private Sub GetExcelSheetNames( ByVal FileName As String )        Dim sConn As String        sConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & _                FileName & ";Extended Properties=""Excel 12.0 Xml;HDR=YES"";"        Dim conn As New OleDbConnection(sConn)        conn.Open()        Dim dtSheets As DataTable = _        conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, Nothing)        Dim drSheet As DataRow        ListBox1.Items.Clear()        For Each drSheet In dtSheets.Rows            ListBox1.Items.Add(drSheet( "TABLE_NAME" ).ToString())        Next        'Tampilkan data sheet pertama pada grid        LoadExcel2Grid(FileName, ListBox1.Items(0).ToString)        conn.Close()    End Sub    'untuk memperlihatkan data sheet di datagridview    Sub LoadExcel2Grid( ByVal FileName As String , ByVal SheetName As String )        Dim exConn As OleDbConnection        Dim dt As DataSet        Dim cmd As OleDbDataAdapter        Dim sConn As String        sConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & _                FileName & ";Extended Properties=""Excel 12.0 Xml;HDR=YES"";"        exConn = New System.Data.OleDb.OleDbConnection(sConn)        cmd = New System.Data.OleDb.OleDbDataAdapter( _              "select * from [" & SheetName & "]" , exConn)        cmd.TableMappings.Add( "Table" , "Tabel Karyawan" )        dt = New System.Data.DataSet        cmd.Fill(dt)        grdData.DataSource = dt.Tables(0)        exConn.Close()    End Sub    Private Sub frmExcelGrid_Load( ByVal sender As System.Object, _        ByVal e As System.EventArgs) Handles MyBase.Load        'Panggil List sheet ketika pertama load        GetExcelSheetNames(strFileName)    End Sub    Private Sub ListBox1_SelectedIndexChanged( ByVal sender As System.Object, _    ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged        'Menampilkan data sesuai pilihan sheet pada listbox        LoadExcel2Grid(strFileName, ListBox1.SelectedItem.ToString)    End Sub End Class Mari kita coba run: Click here if you like this article.
Sumber http://rani-irsan.blogspot.com


EmoticonEmoticon