Exportar datos de Php a Excel

Con frecuencia nos gustaría que los datos que estamos visualizando de un lista de resultados de la web, en php para ser exactos, nos gustaría importarlos, a Excel por ejemplo.

Suena facil darle un copy&paste, pero luego se vuelve mas complejo de lo que pensamos. Veamos cómo podemos lograrlo con algunas líneas de código antes de nuestra página de resultados.

Agregamos al inicio de nuestro página en cuestión, con sus respectivos tags de php las siguiente líneas:

header("Content-Type: application/vnd.ms-excel");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("content-disposition: attachment;filename=nombredelarchivoagenerar.xls");

Y listo, al momento de visualizar la página nos pedirá abrirla o guardarla en excel, y en cuestión de segundos importamos datos desde php a excel sin dolor. Ya en Excel podremos darle el formato que deseemos antes de imprimirla, enviarla por correo, etc.

Espero esta función le sea de utilidad como lo ha sido en mi caso. Gracias a Andrés Canyon, Webmaster de tecnorama por este excelente aporte.

Saludos.

27 comentarios en “Exportar datos de Php a Excel”

  1. Hola!

    Yo igual que Natalia y Julian me gustaria saber como crear varias hojas en el mismo libro ¿¿¿???

    Muchas gracias por adelantado

  2. las etiquetas funcionan perfectamente pero no me exportan las imagenes cuando abro el documento lo exportó todo pero sin la imagen y te dice que no la encuentra, es como si no encontrara el camino, que se hace en ese caso
    saludos diego

  3. Yo tengo la misma duda que NATALIA.

    En si el codigo que explican es muy bueno se resume a imprimir unas cabeceras para que reconozca que es un archivo de excel para descargar y de ahi en mas es solo generar una estructura como si fuera html con sus etiquetas respectivas.

    Pero la GRAN PREGUNTA ES ¿como se puede agregar varias hojas en el mismo archivo??????, ejm, hoja1, hoja2, hoja3 etc, etc…

    Gracias por la ayuda

  4. Hola mira lo que pasa es que yo use el codigo que hay al inicio del blog y me genera el alchivo excel pero en blanco, podrias explicarme que pudo haber pasado

  5. hola daosorio otra vez yo con una inquietud tengo que exportar mis resultados de una pagina de php a un pdf tendrias un codigo como este de excel pero que me exporte a pdf sin tanto complique
    gracias

  6. Fernando, algo que puedes hacer es lo siguiente:

    – Crea un boton que mande a llamar la página que exporta los datos, al darle clic a ese botón lo hará es ‘ejecutar’ la consulta.

    Checalo y me dices si te sirve.

    Saludos y gracias por visitar mi blog.

  7. hola tomasy a mi me paso lo mismo en excel 2007 ya que descarga el archivo con formato web se solucionan diciendole que si sequiere abrir y cambiandole el formato a hoja de excel 97-2003 espero te funcione

  8. saludos
    realice el codigo y al momento de ejecuta abre el Excel pero manda el siguiente mensaje «el arccivo que intenta abrir tiene otro formato que el especificado, compruebe que el archivo no esta dañado y procede de un origen de confianza ¿desea abrirlo haora?» el archivo se abre pero no se visualizan las celdas y las columnas
    a alguien le ha sucedido algo parecido???

  9. hola, disculpa me manda el mismo error que a gelejimar, Warning: Cannot modify header information – headers already sent by, primero lo utilice en otra maquina y funcionaba bien, pero ahora que utilizo otra maquina con una version de exel mas reciente me muestra el error. me podrias ayudar por favor??
    es urgente..

  10. Te explico bien, hice una consulta a una base de datos y la aparecen en pantalla en forma de tabla lo cual esta perfecto pero quiero saber como exportar esa tabla a excel crei que lo haria con este codigo que esta arriba y abre el cuadro que te pregunta si quieres abrirlo guardarlo o cancelar pero me manda un mensaje de que no se puede leer el archivo ¿por que?

  11. hola quiero exportar una consulta php a exccel como Emerson y ya puse el codigo que le mandaste pero no lo hace mi pregunta es que exporta, ¿los resultados que aparecen en pantalla o que?

  12. Estupendo código de exportacion, pero no me permite elegir entre abrir o guardar, me guarda directamente y no me muestra la página. Puede ser algo de configuracion del navegador? uso Camino en un iMac.
    gracias

  13. No me funciona me salen errores de este tipo
    Warning: Cannot modify header information – headers already sent by (output started at…»

    que hagoooo

  14. A ver.. te marca algun error Emerson cuando los exportas nuevamente…?

    El sistema debe permitir exportar tantas veces lo requieras, no tiene ningun lìmite al respecto.

    Checa y nos dices por fas.

    Saludos cordiales.

  15. hola una preguntica esque como lo dije antes el codigo funciona de maravilla pero hoy al tratar de exportar los datos nuevamente ya no funciono … reuqiro pistas sobre lo que pudo haber pasado
    gracias

Deja un comentario

Tu dirección de correo electrónico no será publicada.