Mengekspor File Excel Ke My SQL

05.34 0 Comments A+ a-

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.
form_utama.jpg
Buat satu data modul dan tambahkan komponen-komponen sebagaimana gambar berikut.
dm.jpg
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.
form_run.jpg
Tekan tombol Open File untuk mencari file excel yang akan di export datanya.
Setelah file excel di open, maka akan tampil sebagai berikut.
form_hasil.jpg
Klik tombol Yes.
Program ini berjalan dengan baik berkat bantuan teman saya yang bernama Mas Dedy Setyawan. Thank you for helping me.
Download program klik disini