Exportación a EXCEL desde PHP (y cualquier lenguaje)

Muchas veces desearíamos exportar tablas de datos generadas en PHP a archivos Excel. ésto es sumamente sencillo debido al hecho que Excel acepta archivos HTML:

Para ello modificamos las cabeceras para hacer creer al navegador que estamos enviando un archivo binario con extensión .xsl:

header("Content-type: application/octet-stream");                 // Contenido binario
 
header("Content-Disposition: attachment; filename=exportar.xls"); // Decimos que los datos están dispuestos como adjunto (lo podemos obviar y se abrirá el excel en el navegador) y le damos un nombre de archivo (se puede poner el que deseemos)
 
header("Pragma: no-cache"); // No se guarda en la cache (así nos aseguramos que se actualicen)
header("Expires: 0"); // Lo mismo que la anterior


A partir de aquí podemos enviar el contenido con un HTML mas o menos sencillo, para que Excel lo entienda bien. Se pueden usar 'headers' (<h1> .. <h7>), tablas, colores de letra y de fondo, creo que bordes de celda, pero nada de virguerías....



Este método sirve para cualquier lenguaje, cambiando el comando "header" por el equivalente.

    Editado por Daniel el 08/05/2008 a las 07:28:53h.