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 As
OleDbConnection
Public CMD As
OleDbCommand
Public DS As
New DataSet
Public DA As
OleDbDataAdapter
Public RD As
OleDbDataReader
Public DT As
DataTable
Sub
Koneksi()
'string
koneksi ke data excel
CONN = New
OleDbConnection("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 Class
Form1
Sub Kosongkan()
TextBox1.Clear()
TextBox2.Clear()
TextBox1.Focus()
End Sub
Sub TampilGrid()
DA = New
OleDbDataAdapter("select * from
[sheet1$]", CONN)
DS = New
DataSet
DA.Fill(DS)
DGV.DataSource = DS.Tables(0)
DGV.ReadOnly = True
End Sub
Private Sub
Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
MyBase.Load
Call
Koneksi()
Call
TampilGrid()
Call Kosongkan()
End Sub
Private Sub
TextBox1_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles
TextBox1.KeyPress
TextBox1.MaxLength = 5
If
e.KeyChar = Chr(13) Then
Call
Koneksi()
CMD = New
OleDbCommand("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()
End
If
End If
End Sub
Private Sub
TextBox2_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles
TextBox2.KeyPress
TextBox2.MaxLength = 30
If
e.KeyChar = Chr(13) Then Button1.Focus()
End Sub
Private Sub
Button1_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
Button1.Click
If
TextBox1.Text = "" Or TextBox2.Text = ""
Then
MsgBox("Data
belum lengkap")
Exit
Sub
Else
Call
Koneksi()
CMD = New
OleDbCommand("Select * from [sheet1$] where
val(Kode)='" & TextBox1.Text & "'",
CONN)
RD = CMD.ExecuteReader
RD.Read()
If Not RD.HasRows Then
Dim
simpan As String
= "insert into [sheet1$] values ('"
& TextBox1.Text & "','"
& TextBox2.Text & "')"
CMD = New
OleDbCommand(simpan, CONN)
CMD.ExecuteNonQuery()
Else
Dim
edit As String
= "update [sheet1$] set NAMA='"
& TextBox2.Text & "' where
val(Kode)='" & TextBox1.Text & "'"
CMD = New
OleDbCommand(edit, CONN)
CMD.ExecuteNonQuery()
End
If
Call
TampilGrid()
Call
Kosongkan()
End If
End Sub
Private Sub
Button2_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
Button2.Click
If
TextBox1.Text = "" Then
MsgBox("val(Kode)
Barang masih kosong, silakan diisi dulu")
TextBox1.Focus()
Exit
Sub
Else
If
MessageBox.Show("Yakin akan dihapus..?",
"", MessageBoxButtons.YesNo) =
Windows.Forms.DialogResult.Yes Then
Dim
hapus As String
= "delete * from [sheet1$] where
val(Kode)='" & TextBox1.Text & "'"
CMD = New
OleDbCommand(hapus, CONN)
CMD.ExecuteNonQuery()
Call
TampilGrid()
Call
Kosongkan()
Else
Call
Kosongkan()
End
If
End If
End Sub
Private Sub
Button3_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
Button3.Click
Call
Kosongkan()
End Sub
Private Sub
Button4_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
Button4.Click
Me.Close()
End Sub
Private Sub
TextBox6_TextChanged(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
TextBox6.TextChanged
CMD = New
OleDbCommand("select * from [sheet1$] where
NAMA like '%" & TextBox6.Text & "%'",
CONN)
RD = CMD.ExecuteReader
RD.Read()
If
RD.HasRows Then
DA = New
OleDbDataAdapter("select * from [sheet1$]
where NAMA like '%" & TextBox6.Text & "%'", CONN)
DS = New
DataSet
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.
5 comments
hapusnya ga bisa
dgv itu dibuat deklarasi baru kah?
Oea mas mw nanya.. klo kode untuk input data hanya fokus satu cell saja. Misalkan fokus pada cell "A1" .
Hapusnya gmna ya mas ? Ko gk bisa ya
Hapusnya gagal brow
EmoticonEmoticon