Friday, 31 March 2017

Export Data dari DBGrid Delphi (Database) ke Ms Excell

 Umumnya, dalam sebuah database perlu adanya output dalam bentuk laporan. Laporan ini dirancang tergantung kebutuhan. Ada programmer yang membuat laporan menggunakan QuickReport, ada juga yang menggunakan Ms Excell. Nah, kali ini penulis ingin berbagi ilmu bagaimana data yang ada di DBGrid di-export atau dijadikan ke Ms Excell.


 
Sebelumnya, saya sudah memiliki data pada sebuah database (DBGrid), kemudian saya akan meng-export data tersebut ke file Ms Excell. Perhatikan desain berikut ini.


Pada desain di atas, saya gunakan DataSource, ADOConnection, dan ADOQuery sebagai atribut koneksi data ke Ms Access. Kemudian dari data yang tersimpan di database (Ms Access), saya akan meng-export data tersebut ke Ms Excell.

Pertama, tambahkan “comobj” pada Uses, dan tambahkan nama atribut di bagian Private, seperti berikut.

XlApp, XlBook, XlSheet, XlSheets, Range,chat : Variant;
        WApp, Word : Variant;

Kedua, pada tombol “Export ke Ms Excell”, tambahkan kode ini.

Var i,x:integer;
sfile:string;
begin
  XlApp  := CreateOleObject('Excel.Application');
  XlBook := XlApp.WorkBooks.Add;
   XlSheet  := XlBook.worksheets.add;
 for i:=0 to dbgrid1.FieldCount-1 do
 begin
XlSheet.cells[2,i+1].value:=dbgrid1.columns[i].Title.Caption;
 end;
AdoQuery1.First;
x:=1;
while not AdoQuery1.Eof do
begin
 for i:=0 to dbgrid1.FieldCount-1 do
  begin
  XlSheet.cells[2+x,i+1].value:=dbgrid1.Fields[i].Text;
  end;
  AdoQuery1.Next;
 inc(x);
end;
  if MessageDlg('Apakah Hasil Export Ms Excell Ditampilkan..?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
  begin
    MessageDlg('Hasil Export Akan Ditampilkan', mtInformation,
      [mbOk], 0);
       XlApp.visible:=true;
  end
  else
  begin
    Sfile:= InputBox('Nama File', 'Hasil Export', 'c:\Hasil_Export.xls');
    XlApp.ActiveWorkbook.SaveAs(sfile);
    XlApp.visible:=true;
  end
end;


Silahkan lakukan simulasi.






Terima Kasih. Semoga bermanfaat.




No comments:
Write komentar

Syaharuddin. Theme images by MichaelJay. Powered by Blogger.

KOMENTAR ANDA