Янв 052013
 

Export(Экспорт) MySQL в Excel реализация на PHP

Однажды мне понадобилось записать данные из базы данных MySQL в Microsoft Excel используя PHP скрипт.
Сейчас я продемонстрирую вам код который в дальнейшем поможет Вам.

<?php
mysql_connect(“localhost”,”root”,”root”);
mysql_select_db(“employee”);
$qry_data=mysql_query(“SELECT * FROM personal ORDER BY nip”);

function xlsBOF() {
echo pack(“ssssss”, 0×809, 0×8, 0×0, 0×10, 0×0, 0×0);
return;
}
function xlsEOF() {
echo pack(“ss”, 0x0A, 0×00);
return;
}
function xlsBuatBaris($data, $Col, $Value) {
echo pack(“sssss”, 0×203, 14, $data, $Col, 0×0);
echo pack(“d”, $Value);
return;
}
function xlsBuatLabel($data, $Col, $Value ) {
$L = strlen($Value);
echo pack(“ssssss”, 0×204, 8 + $L, $data, $Col, 0×0, $L);
echo $Value;
return;
}
header(“Pragma: public”);
header(“Expires: 0″);
header(“Cache-Control: must-revalidate, post-check=0, pre-check=0″);
header(“Content-Type: application/force-download”);
header(“Content-Type: application/octet-stream”);
header(“Content-Type: application/download”);;
header(“Content-Disposition: attachment;filename=employee.xls “);
header(“Content-Transfer-Encoding: binary “);

xlsBOF();

xlsBuatLabel(0,0,”DAFTAR DATA PRIBADI”);

xlsBuatLabel(2,0,”NIP”);
xlsBuatLabel(2,1,”NAMA”);
xlsBuatLabel(2,2,”ALAMAT”);
xlsBuatLabel(2,3,”KELAMIN”);
xlsBuatLabel(2,4,”TGL LAHIR”);

$xlsRow = 3;

while($data=mysql_fetch_array($qry_data)){
xlsBuatBaris($xlsRow,0,$data['nip']);
xlsBuatLabel($xlsRow,1,$data['nama']);
xlsBuatLabel($xlsRow,2,$data['alamat']);
xlsBuatLabel($xlsRow,3,$data['kelamin']);
xlsBuatLabel($xlsRow,4,$data['tgl_lahir']);

$xlsRow++;
}

xlsEOF();
exit();
?>