Assalamu’alaikum Wr.Wb.
Hallo programmer, bagi anda yang biasanya menggunakan Delphi dalam pemrograman dan pembuatan aplikasi sehari-hari atau proyek anda
, tentunya anda menginginkan cara untuk mengekspor data anda ke dalam format tertentu yang anda inginkan sebagai backup data atau sebagai keperluan lain.
Nah, pada tulisan kali ini saya akan mencoba untuk memberikan sedikit trik untuk mengekspor tabel dalam database anda ke dalam berbagai format (saat ini hanya satu dahulu – excel, yang lainnya menyusul). Hehe…
Berikut adalah langkah-langkah untuk melakukannya:
- Buka aplikasi delphi kesayangan anda ( pada contoh ini saya impelementasikan menggunakan delphi 11)
- Buat proyek baru anda, dan simpanlah dilokasi sesuai keinginan anda sendir.
- Kemudian susun tampilan anda seperti tampilan berikut ini:

Tampilan Form Rancangan
Biar form rancangan anda sama, anda bisa menggunakan skrip untuk form1.dfm berikut dalam mode teks:object Form1: TForm1
Left = 0
Top = 0
BorderStyle = bsDialog
Caption = 'Demo Ekspor ADO Database'
ClientHeight = 281
ClientWidth = 305
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
OldCreateOrder = False
Position = poDesktopCenter
PixelsPerInch = 96
TextHeight = 13
object Label1: TLabel
Left = 8
Top = 8
Width = 154
Height = 13
Caption = 'Lokasi Database Acces (*.mdb):'
end
object Label2: TLabel
Left = 8
Top = 53
Width = 67
Height = 13
Caption = 'Daftar Tabel :'
end
object Label3: TLabel
Left = 8
Top = 198
Width = 88
Height = 13
Caption = 'Simpan ke Folder :'
end
object Label4: TLabel
Left = 135
Top = 53
Width = 67
Height = 13
Caption = 'Format Data :'
end
object edtLokasi: TEdit
Left = 8
Top = 27
Width = 202
Height = 21
TabOrder = 0
end
object btnBrowse: TButton
Left = 214
Top = 25
Width = 75
Height = 25
Caption = '&Browse'
TabOrder = 1
OnClick = btnBrowseClick
end
object ListBox1: TListBox
Left = 8
Top = 72
Width = 121
Height = 97
ItemHeight = 13
TabOrder = 2
end
object StatusEkspor: TStaticText
Left = 8
Top = 175
Width = 281
Height = 17
AutoSize = False
BorderStyle = sbsSunken
Caption = 'Pilih database -> Tabel -> Format dan Ekspor'
TabOrder = 3
end
object btnEkspor: TButton
Left = 135
Top = 248
Width = 75
Height = 25
Caption = '&Ekspor'
Default = True
Enabled = False
TabOrder = 4
OnClick = btnEksporClick
end
object btnTutup: TButton
Left = 216
Top = 248
Width = 75
Height = 25
Caption = '&Tutup'
TabOrder = 5
OnClick = btnTutupClick
end
object edtFolderSimpan: TEdit
Left = 8
Top = 213
Width = 202
Height = 21
TabOrder = 6
end
object btnBrowseFolder: TButton
Left = 214
Top = 211
Width = 75
Height = 25
Caption = '&Browse'
TabOrder = 7
OnClick = btnBrowseFolderClick
end
object rdbExcel: TRadioButton
Left = 135
Top = 72
Width = 113
Height = 17
Caption = 'Excel 8.0 (97/2000)'
Checked = True
TabOrder = 8
TabStop = True
end
object rdbHTML: TRadioButton
Left = 135
Top = 95
Width = 113
Height = 17
Caption = 'HTML'
Enabled = False
TabOrder = 9
end
object rdbDBase: TRadioButton
Left = 135
Top = 118
Width = 113
Height = 17
Caption = 'DBase'
Enabled = False
TabOrder = 10
end
object rdbCSV: TRadioButton
Left = 135
Top = 141
Width = 113
Height = 17
Caption = 'CSV / TXT'
Enabled = False
TabOrder = 11
end
object OpenDialog1: TOpenDialog
Filter = 'Access Database|*.mdb'
Left = 248
Top = 8
end
object ADOConnection1: TADOConnection
LoginPrompt = False
Left = 10
Top = 242
end
end
Untuk bisa menggunakan kode di atas, klik kanan pada form anda dan pilih menu ‘Views as text‘, dan anda timpa semua kode teks anda dengan kode di atas. Klik kanan kembali pada tampilan ‘Code Editor’ anda dan pilih menu ‘View as Form‘, maka anda akan melihat Tampilan Form Rancangan di atas.
Berikut adalah kode program selengkapnya (baru excel aja lho.. yang lain disabled) :
unit unEkspor;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, DB, ADODB, FileCtrl;
type
TForm1 = class(TForm)
Label1: TLabel;
edtLokasi: TEdit;
btnBrowse: TButton;
OpenDialog1: TOpenDialog;
ListBox1: TListBox;
Label2: TLabel;
StatusEkspor: TStaticText;
btnEkspor: TButton;
btnTutup: TButton;
ADOConnection1: TADOConnection;
edtFolderSimpan: TEdit;
btnBrowseFolder: TButton;
Label3: TLabel;
Label4: TLabel;
rdbExcel: TRadioButton;
rdbHTML: TRadioButton;
rdbDBase: TRadioButton;
rdbCSV: TRadioButton;
procedure btnBrowseFolderClick(Sender: TObject);
procedure btnEksporClick(Sender: TObject);
procedure btnTutupClick(Sender: TObject);
procedure btnBrowseClick(Sender: TObject);
private
procedure EksporExcel(NamaTabel, NamaFile : string);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.EksporExcel(NamaTabel, NamaFile: string);
var
cmdEkspor : TADOCommand;
begin
cmdEkspor := TADOCommand.Create(nil);
try
cmdEkspor.Connection := ADOConnection1;
cmdEkspor.CommandText :=
Format('SELECT * INTO ["Excel 8.0;Database=%s"].[%s] FROM %s',
[NamaFile,NamaTabel,NamaTabel]);
//ShowMessage(cmdEkspor.CommandText);
cmdEkspor.Execute;
finally
cmdEkspor.Free;
end;
end;
procedure TForm1.btnBrowseClick(Sender: TObject);
const
CONN = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;Persist Security Info=False';
begin
if (OpenDialog1.Execute) and (OpenDialog1.FileName<>'') then
begin
ListBox1.Clear;
edtLokasi.Text := OpenDialog1.FileName;
// menghubungkan dengan database access
if ADOConnection1.Connected then ADOConnection1.Connected := false;
ADOConnection1.ConnectionString := Format(CONN,[edtLokasi.Text]);
ADOConnection1.Connected := true;
ADOConnection1.GetTableNames(ListBox1.Items);
if ListBox1.Items.Count > 0 then
ListBox1.ItemIndex := 0;
btnEkspor.Enabled := true;
end;
end;
procedure TForm1.btnBrowseFolderClick(Sender: TObject);
var
strLokasi : string;
begin
SelectDirectory('Pilih lokasi folder untuk menyimpan data hasil ekspor','',
strLokasi,[sdNewUI, sdNewFolder, sdShowShares, sdValidateDir]);
if strLokasi <> '' then
begin
edtFolderSimpan.Text := strLokasi;
end;
end;
procedure TForm1.btnEksporClick(Sender: TObject);
var
strNamaFile : string;
begin
if Length(Trim(edtFolderSimpan.Text)) < 3 then
begin
MessageDlg('Maaf, anda harus mengisi atau memilih folder dengan benar!',
mtWarning,[mbOk],0);
exit;
end;
if Length(edtFolderSimpan.Text)=3 then
strNamaFile := edtFolderSimpan.Text
else
strNamaFile := edtFolderSimpan.Text + '\';
strNamaFile := strNamaFile + ListBox1.Items[ListBox1.ItemIndex];
if ListBox1.ItemIndex > -1 then
begin
if rdbExcel.Checked then
begin
EksporExcel(ListBox1.Items[ListBox1.ItemIndex],strNamaFile + '.xls');
MessageDlg('Data sudah berhasil di ekspor ke format EXCEL 97/2000 ' +
'dalam folder ' + QuotedStr(strNamaFile), mtInformation,
[mbOk], 0 );
end;
// untuk html, dbase, dan csv/txt untuk tulisan berikutnya
end;
end;
procedure TForm1.btnTutupClick(Sender: TObject);
begin
Close;
end;
end.
Kemudian anda jalankan program anda, dan anda akan melihat tampilan berikut:




Bersambung……
Moga bermanfaat, Wassalam.