crear archivo excel con php

pedro
16 de Febrero del 2005
hola, quisiera crear un archivo excel desde php, crear columnas y filas con datos generados de una consulta

gracias

jjboscan
16 de Febrero del 2005
Para empezar creas un formulario con un boton para exportar a excel. Despues preguntas si ya se mando la peticion del formulario para exportar a excel desde mysql y por último mandas los encabezados para mandar a guardar como xls.

<?PHP
$file="archivo"; // Nombre para guardar el archivo
$create_xls=$_POST['create_xls'];
if($create_xls==vnd.ms-excel){
header("Content-type: application/vnd.ms-excel");
header("Content-disposition: attachment; filename=$file.xls");
}else{
?>
<form method=post action=<?=$_SERVER['PHP_SELF'];?>>
<input type=hidden name="create_xls" value="vnd.ms-excel">
<input name="submit" type=submit value="Exportar a excel">
</form>
<?}?>//A partir de aqí va el contenido general incluyendo los datos extraidos de mysql.

<?//conexion, consultas, etc..........?>
<table>
<tr><td><?=etc...?>

Algo así es lo que debes realizar, es probable que este script contenga errores, ya que no lo he probado.
NOTA: Al exportar de html a excel debes tomar en cuenta que los formatos CSS son ignorados, así que en excel se verá todo como texto sin formato, si lo quieres con formato debes derle el formato con HTML.
Al momento de exportar las celdas que tienes en tus tablas se convertirán en celdas de excel; así que trata de hacerlo lo más limpio posible para obtener óptimos resultados.