Friday, September 18, 2020

Vb.Net: Menggunakan Adodb Untuk Memperlihatkan Data Excel


Yang ini sebenernya rada aneh, tetapi gpp deh buat jawab pertanyaan dari we.com/search?q=vbnet-memilih-file-excel-untuk dan
we.com/search?q=vbnet-menentukan-file-excel-untuk

Yaitu ihwal menggunakan ADODB Recordset di VB.NET dan dipakai untuk memperlihatkan data dari file Excel ke DataGridView.
Pertama2 Add Reference dahulu dengan cara mirip gambar di bawah:

Pada dialog Add Reference pilih Tab COM, kemudian pilih Microsoft ActiveX Data Object 2.7 Library, dan klik OK.
UI yang kita pakai simple aja cuman Form dan DataGridView.

Code:
Imports ADODB
Imports System.Data.OleDb

Public Class frmADODB
    Dim xConn As ADODB.Connection
    Dim rsTable As ADODB.Recordset
    Dim rsExcel As ADODB.Recordset
    Dim strExcel As String

    Private Sub Open_Excel()

        xConn = New ADODB.Connection
        With xConn
            .Provider = "Microsoft.ACE.OLEDB.12.0"
            .ConnectionString = "Data Source=d:\karyawan.xls;" & _
                                "Extended Properties=Excel 12.0;"
            .Open()
        End With
        rsExcel = New ADODB.Recordset
        strExcel = "SELECT * FROM [Sheet1$]"

        With rsExcel
            .CursorLocation = CursorLocationEnum.adUseClient
            .Open(strExcel, xConn, CursorTypeEnum.adOpenKeyset, _
                  LockTypeEnum.adLockReadOnly)
            .ActiveConnection = Nothing
        End With
        Me.DataGridView1.DataSource = RecordSetToDataTable(rsExcel)

        rsExcel.Close()
        xConn.Close()

    End Sub

    Public Function RecordSetToDataTable( _
               ByVal objRS As ADODB.Recordset) As DataTable

        Dim objDA As New OleDbDataAdapter()
        Dim objDT As New DataTable()
        objDA.Fill(objDT, objRS)
        Return objDT

    End Function

    Private Sub frmADODB_Load(ByVal sender As System.Object, _
                ByVal e As System.EventArgs) Handles MyBase.Load
        Open_Excel()
    End Sub

End Class


Mari kita coba:
Catatan:
Waktu nyoba sempet error terus provider not found, ternyata provider nya harus pake yang buat Excel 2007 keatas yakni "Microsoft.ACE.OLEDB.12.0"


Click here if you like this article.



Sumber http://rani-irsan.blogspot.com


EmoticonEmoticon