hace unos dias estuve por estos lados preguntando sobre como exportar los datos de mi web (en mysql) a un archivo exel. por suerte internet es grande y consegui un script que lo puedo adaptar perfectamente a mis necesidades....
pero...
el tema es el siguiente, yo no quiero que me lo exporte para guardar en el disco como es este ejemplo sino que lo guarde este .xls dentro del servidor..
se puede??
no pido que me lo hagan ni mucho menos, solo si saben si se puede y por donde buscar.
a continuacion les paso el codigo..
muchas gracias..
Código PHP:
<?
// Connect database.
mysql_connect("localhost","","");
mysql_select_db("tutorial");
// Get data records from table.
$result=mysql_query("select * from name_list order by id asc");
// Functions for export to excel.
function xlsBOF() {
echo pack("ssssss", 0x809, 0x8, 0x0, 0x10, 0x0, 0x0);
return;
}
function xlsEOF() {
echo pack("ss", 0x0A, 0x00);
return;
}
function xlsWriteNumber($Row, $Col, $Value) {
echo pack("sssss", 0x203, 14, $Row, $Col, 0x0);
echo pack("d", $Value);
return;
}
function xlsWriteLabel($Row, $Col, $Value ) {
$L = strlen($Value);
echo pack("ssssss", 0x204, 8 + $L, $Row, $Col, 0x0, $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=orderlist.xls ");
header("Content-Transfer-Encoding: binary ");
xlsBOF();
/*
Make a top line on your excel sheet at line 1 (starting at 0).
The first number is the row number and the second number is the column, both are start at '0'
*/
xlsWriteLabel(0,0,"List of car company.");
// Make column labels. (at line 3)
xlsWriteLabel(2,0,"No.");
xlsWriteLabel(2,1,"Company");
$xlsRow = 3;
// Put data records from mysql by while loop.
while($row=mysql_fetch_array($result)){
xlsWriteNumber($xlsRow,0,$row['id']);
xlsWriteLabel($xlsRow,1,$row['name']);
$xlsRow++;
}
xlsEOF();
exit();
?>