Pertama siapkan data di microsoft excel, Syarat yang harus dipenuhi
adalah kolom pada Excel harus sama pada table yang akan dinputkan dari
excel nanti.
Misalkan saya membuat database test dengan table didalamnya table barang lihat gambar dibawah.
untuk field Id Berikan type autoIncrement, karena nanti akan otomatis mengisi secara urut.
Untuk di file excel saya contohkan seperti pada gambar dibawah.
Kemudian buat aplikasi baru dengan dengan delphi. disini saya
menggunakan delphi Xe2, tapi kalau ingin menggunakan delphi Versi lain
tidak masalah. Buat form seperti pada gambar dibawah ini.
Komponen terdiri dari
- TButton = Button1 properties caption diganti dengan Load data
- TOpenDialog = OpenDialog1
- TAdoConnection = AdoConnection1
- TAdoQuery = AdoQuery1
- TDataSource = DataSource1
- TDBgrid = Dbgrid1
Selanjutnya untuk pengkodean pertama tambahka modul ComObj pada Uses seperti pada gambar dibawah
.
Kemudian pada tombol Load Data silahkan isikan kode seperti dibawah ini.
procedure TForm1.Button1Click(Sender: TObject); var Excel : Variant; i : Integer; begin if OpenDialog1.Execute then begin Try Excel := CreateOleObject('Excel.Application'); Excel.WorkBooks.Open(OpenDialog1.FileName); i:=1; while VarToStr(Excel.Cells.Range['a'+inttostr(i)])<>'' do begin AdoQuery1.Close; AdoQuery1.SQL.Clear; ADoQuery1.SQL.Text :='insert into barang (namabarang,satuan,stok,harga)'+ 'values (:namabarang,:satuan,:stok,:harga)'; AdoQuery1.Parameters.ParamByName('namabarang').Value:=VarToStr(Excel.cells.range['a'+inttostr(i)]); AdoQuery1.Parameters.ParamByName('satuan').Value:=VarToStr(Excel.cells.range['b'+inttostr(i)]); AdoQuery1.Parameters.ParamByName('stok').Value:=strtoint(VarToStr(Excel.cells.range['c'+inttostr(i)])); AdoQuery1.Parameters.ParamByName('harga').Value:=strtoint(VarToStr(Excel.cells.range['d'+inttostr(i)])); AdoQuery1.ExecSQL; inc(i); end; Excel.Quit; Except on E:Exception do begin raise Exception.Create(E.Message); end; End; end; AdoQuery1.Close; AdoQuery1.SQL.Text:='select * from barang'; AdoQuery1.Open; dataSource1.DataSet:=AdoQuery1; Dbgrid1.DataSource:=DataSource1; end;Setelah selesai pengkodean kemudian jalankan program dengan menekan F9. Bila tidak ada yang error program akan berjalan dengan lancar dan kemudian tekan tombol Load Data setelah itu cari dimana letak file Excel yang akan diload ke database. Didalam kasus disini file Excel berada dalam folder aplikasi bernama Book1.xlsx setelah berhasil makan akan tampil data seperti dibawah ini.
Back to the fundamental subject, there are numerous bookkeeping pages in the business world, and increasingly more of them are being made and once in a while utilized in manners that essentially Excel was not intended for, for example putting away touchy and significant information for labs and so on Excel Expert near me
ReplyDelete