peivem.com cerrará sus puertas
Esta entrada ha sido publicada en mi nuevo blog, en:
http://www.sebastianbarria.com/php/exportar-a-excel-desde-php/
Por favor, visita mi nuevo sitio, porque este lo daré de baja muy pronto. Gracias!

4 comentarios » Publicado el: 25 de Febrero de 2009 a las 11:07:33, en la categoría: Web.

RSS twitter menéame digg bitacoras

Exportar a Excel desde PHP

Aveces, cuando se desarrollan sitios web con bases de datos, es necesario poder exportar el contenido de una de las bases de datos a un archivo para que se pueda descargar.

En este caso, explicaré como se puede exportar información en un archivo de excel.

Como generar el archivo

Primero, deberás crear un archivo PHP en blanco. Llamémoslo usuarios.php.

Dentro de este archivo, se debe leer el contenido de la base de datos y mostrarlo en formato de tabla. Algo como esto:

Una vez que tengamos nuestra página (una página en blanco que contiene solamente una tabla de excel), se debe agregar la cabecera de php, a través de este código:

<?php
header("Content-Type: application/vnd.ms-excel");
header("content-disposition: attachment;filename=NOMBRE_DEL_ARCHIVO.xls");
?>

Esta cabecera le dice al archivo que le diga al navegador "yo soy un archivo de excel", por lo cual el navegador lo reconocerá como tal, independiente de que su extensión sea "php".

Como verán, en la segunda línea de la cabecera se define que el archivo será un attachment, por lo que el navegador intentará descargarlo. En la misma línea, también se define el nombre con que se desarcargará el archivo (filename). En este caso, el archivo se llamará NOMBRE_DEL_ARCHIVO.xls.

"XLS" es la extensión de excel, por lo tanto no debemos cambiarla. Lo que si podemos cambiar es "NOMBRE_DEL ARCHIVO", en el cual podemos poner lo que queramos. Hay que tener cuidado de utilizar solo caracteres simples (numeros, letras y guiones). Si se utilizan espacios, el nombre del archivo se cortará al primer espacio.

Lo que podemos hacer, para que quien descargue el archivo siempre sepa que versión está descargando, es utilizar un nombre de archivo como el siguiente:

...NOMBRE_DEL_ARCHIVO_".date('d_m_Y').".xls...

En este caso, el nombre de archivo incluirá el día, mes y año antes de la extensión.

Comentarios

Los comentarios han sido cerrados.

Sin embargo, desde ahora podrás comentar en la nueva dirección de esta entrada: http://www.sebastianbarria.com/php/exportar-a-excel-desde-php/

RSS | XHTML | CSS | Licencia CC (BY-NC-SA)

Este sitio está alojado en DreamHost © peivem 2008. Todos los derechos reservados | Versión 1.62 | Diseño y desarrollo por GEEKBOX