Sabtu, 19 September 2020

Vb.Net Mysql: Import Data Dari Excel - Part 2

*.xlsx"
    End With
    
    Dim result As DialogResult = OpenFileDialog1.ShowDialog()
    If result = Windows.Forms.DialogResult.OK Then
        Try
            TextBox1.Text = OpenFileDialog1.FileName
            GetExcelSheetNames(TextBox1.Text)
        Catch ex As Exception
            MsgBox("Error : " & ex.Message)
        End Try
    End If
 

End Sub

Kita juga akan mengundang procedure untuk menampilkan data di grid setiap opsi sheet di ListBox1 berganti.
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
    LoadExcel2Grid(TextBox1.Text, ListBox1.SelectedItem.ToString)
End Sub


Event TextBox1_TextChanged menjadi parameter pergantian file excel terpilih, jikalau terdapat file excel yang terpilih maka Button2 akan aktif.
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles TextBox1.TextChanged
    Button2.Enabled = (Len(TextBox1.Text) > 0)
End Sub

Sub Procedure DoInsert kita buat untuk proses insert data, query yang digunakan di acuan ini yakni insert ignore. Query ini akan mengabaikan proses insert jikalau input dengan primary key yang sama sudah ada.
Sub DoInsert(ByVal strNIK As String, ByVal strNama As String)
    Dim myCommand As New MySqlCommand
    Dim myAdapter As New MySqlDataAdapter
    Dim myData As New DataTable
    Dim SQL As String

    Try
        If conn.State = ConnectionState.Closed Then conn.Open()

        SQL = "INSERT IGNORE INTO tblKaryawan (nik, nama) VALUES " & _
              "('" & strNIK & "', '" & strNama & "')"

        myCommand.Connection = conn
        myCommand.CommandText = SQL
        myCommand.ExecuteNonQuery()

        MsgBox("Data baru tersimpan")

        conn.Close()
    Catch myerror As MySqlException
        MessageBox.Show("Error: " & myerror.Message)
    Finally
        conn.Dispose()
    End Try
End Sub

Event Button2_Click akan melaksanakan proses migrasi, insert data akan diambil dari tblImport.
Private Sub Button2_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles Button2.Click

    For i As Integer = 0 To tblImport.Rows.Count - 1
        DoInsert(tblImport.Rows(i).Item(0).ToString, _
                 tblImport.Rows(i).Item(1).ToString)
    Next
    MsgBox("Proses Import Selesai!")
    MySQLDataLoad()

End Sub

Oke tamat dengan code, mari kita coba run.
Data MySQL akan ditampilkan saat form pertama kali diundang, klik tombol Browse... untuk menentukan file excel.

Pilih file excel lalu klik Open.
Pilihan sheet akan ditampilkan di ListBox dan Data Excel dari sheet terpilih ditampilkan di grid. Klik tombol Import untuk mengawali proses import.
Ketika proses import simpulan, maka akan muncul pesan konfirmasi:
Hasil yang sudah di import pun ditampilkan di grid Data MySQL

Dan ini isi tabel di MySQL sesudah proses import.

Kode selengkapnya di Part 3 yah.



Click here if you like this article.



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


EmoticonEmoticon

:)
:(
hihi
:-)
:D
=D
:-d
;(
;-(
@-)
:o
:>)
(o)
:p
:-?
(p)
:-s
8-)
:-t
:-b
b-(
(y)
x-)
(h)