Bagaimana cara import data dari excel ke database MySQL dengan memakai VB.NET? Bicara ihwal import data dari excel dengan database apapunnya, gampang-gampang sulit. Kita bisa bilang gampang kan klo udah tau cara/solusinya hehe... Catatan penting : yang jadi rawan error adalah validasi data. Bentuk dan isi data excel mesti sungguh-sungguh sesuai, klo ngga yaaaa error. Lebih lanjut tentang validasi belakangan aja yah. Rani juga anggap readers udah paham wacana VB.NET & MySQL, jadi tau apa aja yang mesti add reference dll. Klo belum baca dulu Tutorial nya yah. Nah bahasan disini Rani batasi dengan perkiraan keadaan data excel valid dan sesuai. Berikut struktur tabel tblKaryawan beserta isinya sebelum proses import. Atur UI mirip gambar berikut: TextBox1 dipakai untuk menyimpan path dan nama file excel yang hendak digunakan, Button1 untuk browse file, dan Button 2 untuk proses import. ListBox1 untuk menyimpan nama-nama sheet. Label1 keterangan data excel dan Label2 untuk informasi data MySQL. DataGridView1 untuk memperlihatkan data tabel dari excel sementara DataGridView2 untuk memperlihatkan data dari MySQL. Selesai dengan UI, lanjut ke Code. Pertama Import Class yang dipakai. Imports System.IO Imports System.Data Imports System.Data.OleDb Imports MySql.Data.MySqlClient Kemudian deklarasikan object data untuk digunakan di Class frmImportExcel. Dim conn As New MySqlConnection Dim strConn As String = "server=localhost;user id=root;" & _ "password=xxxx;database=latihan" Dim tblImport As DataTable Sub Procedure berikut untuk menampilkan data dari tabel MySQL. Sub MySQLDataLoad() Dim myCommand As New MySqlCommand Dim myAdapter As New MySqlDataAdapter Dim myData As New DataTable Dim SQL As String Try conn.Open() SQL = "Select nik, nama From tblkaryawan" myCommand.Connection = conn myCommand.CommandText = SQL myAdapter.SelectCommand = myCommand myAdapter.Fill(myData) DataGridView2.DataSource = myData conn.Close() Catch myerror As MySqlException MessageBox.Show( "Error: " & myerror.Message) Finally conn.Dispose() End Try End Sub Sub procedure di atas akan diundang di event Form_Load. Event ini juga memuat pengaturan connection string dan beberapa pengaturan property UI. Private Sub frmImportExcel_Load( ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load TextBox1.ReadOnly = True Button1.Text = "Browse..." Button2.Enabled = False Button2.Text = "Import" Label1.Text = "Data Excel" Label2.Text = "Data MySQL" With DataGridView1 .AllowUserToDeleteRows = False .AllowUserToAddRows = False .ReadOnly = True End With With DataGridView2 .AllowUserToDeleteRows = False .AllowUserToAddRows = False .ReadOnly = True End With conn.ConnectionString = strConn MySQLDataLoad() End Sub Kemudian kita siapkan juga 2 buah procedure untuk memperlihatkan data excel, termasuk opsi sheet dan isi tabel. Isi tabel excel akan disimpan dalam object DataTable dengan nama tblImport . 'Untuk memperlihatkan data sheet di grid 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", SheetName) dt = New System.Data.DataSet cmd.Fill(dt) tblImport = dt.Tables(0) DataGridView1.DataSource = tblImport exConn.Close() End Sub 'Untuk memperlihatkan nama sheet di listbox 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 LoadExcel2Grid(FileName, ListBox1.Items(0).ToString) conn.Close() End Sub Lanjut di Part 2 ... Click here if you like this article.
Sumber http://rani-irsan.blogspot.com
pop
Selasa, 06 Oktober 2020
Vb.Net Mysql: Import Data Dari Excel - Part 1
Diterbitkan Oktober 06, 2020
Artikel Terkait
- Add Windows Form... Kemudian pilih Login Form dan klik tombol Add .
- Artikel ini lanjutan dari part 1. Dan ini beliau source code langkap nya: Imports Syste
- Part 2
- 0 Then MsgBox( "Welcome " & strUserName & "!" ) 'tu
- Excel 2007
- Part 4 Setelah terbengkalai sekian usang menunggu mood hehe... mari kita mulai mem
Langganan:
Posting Komentar (Atom)
EmoticonEmoticon