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.

Valora esta entrada:

1 Star2 Stars3 Stars4 Stars5 Stars (6 votes, average: 3.67 out of 5)
Loading ... Loading ...

Comentarios

  1. Agosto 17th, 2007 | 2:59 pm

    Excelente código para exportación de resultados de consulta a excel, hasta convierte los formatos de fecha automaticamente, muy bueno, totalmente recomendado.

    Ing. Yoel Asuan Ling
    Software engineer

  2. EMERSON
    Febrero 18th, 2008 | 8:18 pm

    muy buen codigo y lo mas importante muy bien explicado y facil de implementar para principiantes como yo, tambien deja exportar a word.

  3. Febrero 18th, 2008 | 8:30 pm

    Emerson:

    Me da gusto saber que te fue util la información.

    Saludos cordiales.

  4. EMERSON
    Marzo 3rd, 2008 | 9:05 pm

    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

  5. Marzo 4th, 2008 | 1:51 pm

    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.

  6. gelejimar
    Junio 15th, 2008 | 3:41 pm

    No me funciona me salen errores de este tipo
    Warning: Cannot modify header information - headers already sent by (output started at…”

    que hagoooo

  7. emerson
    Junio 18th, 2008 | 7:20 pm

    hola a todos error de principiante habia borrado un aparte del codigo… gracias por ayudarme funciona d emaravilla

  8. Junio 20th, 2008 | 12:36 pm

    gelejimar :

    Modificaste parte del code … pusiste algun head a tu page donde colocaste el code…?

    Saludos cordiales.

  9. emerson
    Junio 21st, 2008 | 12:44 pm

    me podrias explicar como hago la misma exportacion pero a txt
    gracias

  10. Pablo
    Junio 24th, 2008 | 9:23 am

    muy bueno, simple, facil de aplicar, cumple el objetivo con casi nada de codigo, excelente
    gracias

  11. santi
    Junio 29th, 2008 | 6:40 am

    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

  12. Junio 29th, 2008 | 7:53 am

    Claro, denbe preguntarte en dónde quieres guardarlo.

    Checa la conf. de tu navegador, probablemente sea algo de eso.

    Saludos y gracias por tu visita.

  13. Sandra
    Julio 3rd, 2008 | 1:01 pm

    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?

  14. Sandra
    Julio 3rd, 2008 | 1:07 pm

    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?

  15. adrian
    Julio 11th, 2008 | 9:45 am

    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..

  16. tomasy
    Septiembre 15th, 2008 | 7:42 am

    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???

  17. emerson
    Septiembre 16th, 2008 | 6:57 am

    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

Respuesta rápida