Excel merupakan salah satu jenis peranti lunak pengolah database. Banyak orang menggunakan excel sebagai media untuk pengolahan data yang mereka butuhkan. Dalam bab ini akan dijelaskan tentang bagaimana cara mengolah data excel dengan menggunakan VB.Net termasuk di dalamnya tentang cara export dan import.
Membuat Project Baru
Tahapan pertama dalam pembuatan aplikasi pengolahan data excel ini adalah membuat project baru dengan langkah sebagai berikut:
1. Buka visual studio 2008
2. Klik create project
3. Tulis nama project “Mengolah Data Excel”
4. OK
Setelah membuat project baru dan menyimpannya di posisi tertentu, maka akan terbentuk folder project secara otomatis yang di dalamnya terdapat folder ... >> BIN>> DEBUG. Folder inilah yang akan dijadikan tempat menyimpan data excel.
Kondisi ini sekarang menjadi sebuah pilihan, anda boleh saja membuat data excel dan disimpan di folder yang anda inginkan karena nantinya data excel dapat dicari dengan menggunakan openfiledialog.
Membuat Data Excel
Langkah berikutnya adalah membuat data excel dengan struktur seperti gambar di bawah ini.
Data Barang
Membuat Module Koneksi Ke Excel
Coding module koneksi ke data excel agak sedikit berbeda dengan database access, mysql atau sql server. Untuk membuat module koneksi ini klik menu project >> add module.
Membuat Module Koneksi
Coding :
Imports System.Data.OleDb
Module Module1
Public CONN AsOleDbConnection
Public CMD AsOleDbCommand
Public DS AsNew DataSet
Public DA AsOleDbDataAdapter
Public RD AsOleDbDataReader
Public DT AsDataTable
SubKoneksi()
'string koneksi ke data excel
CONN = NewOleDbConnection("provider=Microsoft.ace.OLEDB.12.0;data source=book1.xlsx;Extended Properties=Excel 8.0;")
CONN.Open()
End Sub
End Module
Form Pengolahan Data Excel
Logika dan proses program dalam form barang mirip seperti yang telah dibahas pada bab sebelumnya.
Form Barang
Coding :
Imports System.Data.OleDb
Public ClassForm1
Sub Kosongkan()
TextBox1.Clear()
TextBox2.Clear()
TextBox1.Focus()
End Sub
Sub TampilGrid()
DA = NewOleDbDataAdapter("select * from [sheet1$]", CONN)
DS = NewDataSet
DA.Fill(DS)
DGV.DataSource = DS.Tables(0)
DGV.ReadOnly = True
End Sub
Private SubForm1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.Load
CallKoneksi()
CallTampilGrid()
Call Kosongkan()
End Sub
Private SubTextBox1_KeyPress(ByVal sender As Object, ByVal e AsSystem.Windows.Forms.KeyPressEventArgs) HandlesTextBox1.KeyPress
TextBox1.MaxLength = 5
Ife.KeyChar = Chr(13) Then
CallKoneksi()
CMD = NewOleDbCommand("Select * from [sheet1$] where val(Kode)='" & TextBox1.Text & "'", CONN)
RD = CMD.ExecuteReader
RD.Read()
If Not RD.HasRows Then
TextBox2.Text = ""
TextBox2.Focus()
Else
TextBox2.Text = RD.Item("NAMA")
TextBox2.Focus()
EndIf
End If
End Sub
Private SubTextBox2_KeyPress(ByVal sender As Object, ByVal e AsSystem.Windows.Forms.KeyPressEventArgs) HandlesTextBox2.KeyPress
TextBox2.MaxLength = 30
Ife.KeyChar = Chr(13) Then Button1.Focus()
End Sub
Private SubButton1_Click(ByVal sender As System.Object, ByVale As System.EventArgs) HandlesButton1.Click
IfTextBox1.Text = "" Or TextBox2.Text = ""Then
MsgBox("Data belum lengkap")
ExitSub
Else
CallKoneksi()
CMD = NewOleDbCommand("Select * from [sheet1$] where val(Kode)='" & TextBox1.Text & "'", CONN)
RD = CMD.ExecuteReader
RD.Read()
If Not RD.HasRows Then
Dimsimpan As String= "insert into [sheet1$] values ('"& TextBox1.Text & "','"& TextBox2.Text & "')"
CMD = NewOleDbCommand(simpan, CONN)
CMD.ExecuteNonQuery()
Else
Dimedit As String= "update [sheet1$] set NAMA='"& TextBox2.Text & "' where val(Kode)='" & TextBox1.Text & "'"
CMD = NewOleDbCommand(edit, CONN)
CMD.ExecuteNonQuery()
EndIf
CallTampilGrid()
CallKosongkan()
End If
End Sub
Private SubButton2_Click(ByVal sender As System.Object, ByVale As System.EventArgs) HandlesButton2.Click
IfTextBox1.Text = "" Then
MsgBox("val(Kode) Barang masih kosong, silakan diisi dulu")
TextBox1.Focus()
ExitSub
Else
IfMessageBox.Show("Yakin akan dihapus..?", "", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then
Dimhapus As String= "delete * from [sheet1$] where val(Kode)='" & TextBox1.Text & "'"
CMD = NewOleDbCommand(hapus, CONN)
CMD.ExecuteNonQuery()
CallTampilGrid()
CallKosongkan()
Else
CallKosongkan()
EndIf
End If
End Sub
Private SubButton3_Click(ByVal sender As System.Object, ByVale As System.EventArgs) HandlesButton3.Click
CallKosongkan()
End Sub
Private SubButton4_Click(ByVal sender As System.Object, ByVale As System.EventArgs) HandlesButton4.Click
Me.Close()
End Sub
Private SubTextBox6_TextChanged(ByVal sender As System.Object, ByVale As System.EventArgs) HandlesTextBox6.TextChanged
CMD = NewOleDbCommand("select * from [sheet1$] where NAMA like '%" & TextBox6.Text & "%'", CONN)
RD = CMD.ExecuteReader
RD.Read()
IfRD.HasRows Then
DA = NewOleDbDataAdapter("select * from [sheet1$] where NAMA like '%" & TextBox6.Text & "%'", CONN)
DS = NewDataSet
DA.Fill(DS, "ketemu")
DGV.DataSource = DS.Tables("ketemu")
DGV.ReadOnly = True
Else
MsgBox("data tidak ditemukan")
End If
End Sub
End Class
Coba anda perhatikan, begitu mudahnya mengolah data excel, perbedaannya hanya pada string koneksi dan penyebutan nama tabel diganti dengan nama sheet.
Tidak ada komentar:
Posting Komentar