Kemaren ( 18-10-2014) dapat PR ( Pekerjaan Rumah ) dari Yuni Roza tantang kali ini adalah saat melakukan export data dari database ke Excel jika ada format angka seperti ini : 081933536231 saat di export maka di excel akan menjadi 81933536231 ? karena di excel format akan di kenali sebagai integer , karena integer tidak perlu memakai 0 ( Nol ).
ini adalah gambar saat pertama kali data berhasil di export tapi angka awalan 0 ( nol ) nya hilang
Data pada lingkaran merah aslinya adalah : 0610115262023
untuk awalnya script menggunakan sintax sebagai berikut :
<?phpkarena cara script di atas adalah cara termudah melakukan export ke excel.
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=exceldata.xls");
header("Pragma: no-cache");
header("Expires: 0");
?>
permasalah datang saat angka 0 di atas. script di atas tidak dapat melakukan perubahan type pada kolom di excel, hal ini saya membutuhkan library tambahan, disini saya menggunakan PHPExcel.
Pada PHP Excel untuk menambah data pada kolom adalah seperti contoh di bawah ini :
$objPHPExcel->getActiveSheet()->setCellValue('B'.$i, $dt['nobp']);jika sintax ini akan di exekusi maka angka nol tetap akan hilang, oleh karena kita butuh melakukan set type nya terlebih dahulu.
pertama ganti sintax setCellValue menjadi setCellValueExplicit
kedua set type menggunakan sintax berikut :
PHPExcel_Cell_DataType::TYPE_STRINGsehingga untuk sintax lengkap adalah :
$objPHPExcel->getActiveSheet()->setCellValueExplicit('A'.$i, $dt['nobp'], PHPExcel_Cell_DataType::TYPE_STRING);
dengan trik di atas permasalahan angka nol pada excel dapat teratasi.
berikut adalah hasilnya :
Gimana cukup mudah bukan :D
Tidak ada komentar:
Posting Komentar