Disini saya akan memberi contoh cara mengekspor data dari file excel ke database MySQL. Sebagai contoh kita akan mengekspor file excel yang isinya kdmk dan nilai, yang nantinya akan di ekspor ke MySQL pada tabel tb_krs yang fieldnya juga sama yaitu kdmk dan nilai. Ceritanya, kita akan memasukan nilai ke database MySQL yaitu ke tb_krs yang tadinya nilainya belum ada, kita update dengan mengekspor file nilai dari excel, agar kita tidak perlu menginputkan nilai satu per satu ke tb_krs.
Ikuti langkah-langkahnya sebagai berikut.
Buat satu form utama seperti gambar di bawah ini.
Buat satu data modul dan tambahkan komponen-komponen sebagaimana gambar berikut.
Keterangan :
Koneksi ADO untuk menghubungkan dengan MS. Excel dan MyDAC untuk menghubungkan dengan MySQL
Tambahkan kode program berikut ini pada event OnClick tombol Open File.
procedure TForm1.btnOpenFileClick(Sender:TObject);
begin
with OpenDialog1 do
begin
Options := [ofFileMustExist]; Filter :=’Excel files|*.xls’;
FilterIndex := 1; InitialDir:=’E:\Euis\’;
Execute;
end;
openfile(OpenDialog1.FileName);
if MessageDlg(’Proses Update ?’,mtConfirmation,[mbYes,mbNo],1) = mrYes then
MoveTheXLS;
end;
Tambahkan konstanta EXCEL_CONNECTION_STRING, procedure MoveTheXLS dan OpenFile sebagai berikut.
Const
EXCEL_CONNECTION_STRING = ‘Provider=Microsoft.Jet.OLEDB.4.0′ + ‘;Extended Properties
= excel 8.0 ‘ + ‘;Persist Security Info = False’;
procedure TForm1.MoveTheXLS;
begin
with DM do
begin
ADODataSet1.First;
While Not(ADODataSet1.Eof) do
begin
with mySQLQuery1 do
begin
Close;
SQL.Clear;
SQL.Text:=’update db_akd.tb_krs set nilai=:nilai where kdmk=:kdmk’;
paramByName(’kdmk’).AsString:=GridXls.Fields[0].AsString;
paramByName(’nilai’).AsString:=GridXls.Fields[1].AsString;
ExecSQL;
end;
ADODataSet1.Next;
end;
end;
end;
procedure TForm1.OpenFile(filename:TFileName);
var sl : TStringList;
begin
dm.ADOConnection1.Close;
dm.ADOConnection1.ConnectionString := EXCEL_CONNECTION_STRING + ‘;data source=’
+ filename; sl := nil;
sl := TStringList.Create;
try
dm.ADOConnection1.GetTableNames( sl );
If sl.Count > 0 Then
begin
dm.ADODataSet1.CommandText := ‘Select * from [’ + sl.Strings[0] + ‘] ‘ ;
dm.ADODataSet1.open;
end;
finally
sl.free;
end;
end;
Jika codingnya sudah selesai, maka tekan F9 untuk run program. Hasilnya adalah sebagai berikut.
Tekan tombol Open File untuk mencari file excel yang akan di export datanya.
Setelah file excel di open, maka akan tampil sebagai berikut.
Klik tombol Yes.
Program ini berjalan dengan baik berkat bantuan teman saya yang bernama Mas Dedy Setyawan. Thank you for helping me.
4 komentar:
Kalau data excel-nya beraturan, cara diatas memang bisa. Tapi misalkan ngga beraturan seperti data history faktur penjualan 1 bulan terakhir, gmn dong cara importnya :(
Mbak.. bagaimana kalau sebaliknya dari MySQL ke Excel?
Thnks
Bisa, tapi via aplikasi delphi, menggunakan komponen exportexcel
wah... wah... wah... wah...
pinter banget sih (mbak atau ibu nih...) jdi org... aku jdi ngerasa kecil nih...
kebetulan aku jga lgi cari tutor untk edit data excel melalui delphi dan sebaliknya.
bleh minta tlg di postingkan juga alamat link untuk source code nya gk...
biar bsa sma2 belajarnya gtu....
pls ya... bantuannya....
Posting Komentar