Selasa, 24 Maret 2015

export import data excel dengan vb.net



Langkah pertama membuat proses export dan import data excel adalah membuat database dengan access 2007 dan beri nama DBExport.accdb. kemudian buatlah tabel dengan nama TBLBarang (kode_barang dan Nama_barang). Setelah itu form dengan bentuk seperti gambar di bawah ini.

Form export import

Coding :
Imports System.Data.OleDb

Public ClassExportImport
    'definisikan variabel koneksi di database access 2007
    Dim ConnAccess AsOleDbConnection
    Dim CMDAccess AsOleDbCommand
    Dim DRAccess AsOleDbDataReader


    Private SubButton1_Click(ByVal sender As System.Object, ByVale As System.EventArgs) HandlesButton1.Click
        CallKoneksi() 'koneksi ke excel pertama kali sudah dibuat di module
        DA = NewOleDbDataAdapter("select * from [sheet1$]", CONN)
        DS = NewDataSet
        DA.Fill(DS)
        DGV.DataSource = DS.Tables(0)
        DGV.Columns(1).Width = 200
        DGV.ReadOnly = True
        CONN.Close()
    End Sub

    SubKoneksi1()
        'string koneksi ke daatabase access 2007
        ConnAccess = NewOleDbConnection("provider=Microsoft.ace.OLEDB.12.0;data source=dbimport.accdb")
        ConnAccess.Open()
    End Sub

    Private SubButton2_Click(ByVal sender As System.Object, ByVale As System.EventArgs) HandlesButton2.Click
        CallKoneksi1()
        'cari data di tabel barang
        CMDAccess = NewOleDbCommand("select * from tblbarang", ConnAccess)
        DRAccess = CMDAccess.ExecuteReader
        DRAccess.Read()
        If Not DRAccess.HasRows Then
            'jika datanya tidak ada maka simpan secara berulang
            Forbaris As Integer= 0 To DGV.RowCount - 2
                Dimsimpan As String= "insert into tblbarang values('"& DGV.Rows(baris).Cells(0).Value & "','"& DGV.Rows(baris).Cells(1).Value & "')"
                CMDAccess = New OleDbCommand(simpan, ConnAccess)
                CMDAccess.ExecuteNonQuery()
            Next
            MsgBox("proses simpan berhasil")
        Else
            'jika datanya sudah ada maka edit secara berulang
            Forbaris As Integer= 0 To DGV.RowCount - 2
                Dimedit As String= "update tblbarang set nama_barang='"& DGV.Rows(baris).Cells(1).Value & "' where kode_barang='" & DGV.Rows(baris).Cells(0).Value & "'"
                CMDAccess = New OleDbCommand(edit, ConnAccess)
                CMDAccess.ExecuteNonQuery()
            Next
            MsgBox("proses edit berhasil")
        End If
    End Sub
End Class

Tidak ada komentar:

Posting Komentar