Export dari Database ke Excel
Lagi-lagi iseng main-main PHP
![]()
Kali ini mencoba export dari Database MySQL ke format MS Excel dengan perantara PHP. Di sini aku cuma memakai classes yang telah ada di XAMPP yaitu BIFFwriter dan tinggal mengkonfigurasi sesuai dengan keinginan.
salah satu contoh sederhananya adalah sebagai berikut :
<?php
include “../conf.php”;
include_once “../Spreadsheet/Excel/Writer.php”;$ThSelect = Globals::getVar(“y”);
$namafile = “AgendaIS-”.$ThSelect.”.xls”;
$worksheet = $ThSelect;
$judul = “Agenda IS $ThSelect”;function parseDate($date) {
$format =”j F Y”;
$dateString = date($format , strtotime($date));
return $dateString;
}$xls =& new Spreadsheet_Excel_Writer();
$xls->send($namafile);
$formatganjil =& $xls->addFormat();
$formatgenap =& $xls->addFormat();
$formatJudul =& $xls->addFormat();
$formatKhusus =& $xls->addFormat();$formatJudul->setFgColor(“grey”);
$formatJudul->setColor(“white”);
$formatJudul->setBold();
$formatJudul->setTop(“1″);
$formatJudul->setBottom(“1″);
$formatJudul->setLeft(“1″);
$formatJudul->setRight(“1″);$formatKhusus->setBold();
$formatKhusus->setColor(“red”);
$formatKhusus->setTop(“1″);
$formatKhusus->setBottom(“1″);
$formatKhusus->setLeft(“1″);
$formatKhusus->setRight(“1″);$formatganjil->setColor(“black”);
$formatganjil->setTop(“1″);
$formatganjil->setBottom(“1″);
$formatganjil->setLeft(“1″);
$formatganjil->setRight(“1″);$formatgenap->setColor(“black”);
$formatgenap->setTop(“1″);
$formatgenap->setBottom(“1″);
$formatgenap->setLeft(“1″);
$formatgenap->setRight(“1″);
$formatgenap->setFgColor(“silver”);$sheet =& $xls->addWorksheet($worksheet);
//baris, kolom, isi, format
$sheet->writeString(0, 0, $judul, 0);
$sheet->writeString(1, 0, “No”, $formatJudul);
$sheet->write(1, 1, “Agenda”, $formatJudul);
$sheet->write(1, 2, “Date”, $formatJudul);
$sheet->write(1, 3, “Place”, $formatJudul);$sql = “select no,judul,tanggal,tempat from agenda where tanggal like ‘%$ThSelect%’ ORDER BY tanggal ASC”;
$recordSet = $adoObj->Execute($sql);
if($recordSet !=null){
$i=2;
while(!$recordSet->EOF){
if (($i % 2) == 0){
$format = $formatganjil;
}else{
$format = $formatgenap;
}
$sheet->write($i, 0, $i-1, $formatJudul);
$sheet->writeString($i, 1, $recordSet->fields['judul'], $format);
$sheet->writeString($i, 2, parseDate($recordSet->fields['tanggal']), $format);
$sheet->writeString($i, 3, $recordSet->fields['tempat'], $format);
$i++;$recordSet->MoveNext();
}
}
$xls->close();
exit;
?>
Ternyata mudah banget…
April 8th, 2008 at 7:36 am
mas, mo tanya bole ga?
kl kebalikannya, maksutnya dari excel mo dimasukin ke mysql, sy sudah dapet source nya, tetapi tidak dapat memasukkan format tgl yang ada di excel. hasil dari tanggal selalu berubah menjadi text (misal 32012). mohon pencerahan mas
thanks