Generar un Excel con PHP rápido y fácil

Excel con php

Hoy os vengo a explicar cómo podemos crear un archivo Excel rápida y facilmente usando PHP.

Podría hablar de la potente herramienta que es PHPExcel, que seguro que muchos conocéis.

Pero si no tenéis tiempo de aprenderla y necesitáis convertir un listado que tengáis ya generado usando PHP en Excel para pasarlo a vuestro jefe, o quien lo pida, ahora mismo os explico como se hace.

Generar las cabeceras

Para poder generar un archivo Excel, primero de todo deberemos definir las cabeceras.

Las definiremos de la siguiente forma:

En la primera línea le estamos diciendo el tipo de contenido que vamos a mostrar.

Y en la segunda línea, le estamos diciendo que lo que vamos a generar es un adjunto, y que va a tener el nombre “nombre_archivo.xls“, que eso al final es lo que nos va a generar este PHP.

Generar el contenido de nuestro Excel

A continuación vamos a generar el contenido de nuestro Excel.

Esta es la parte más simple, porque simplemente tendremos que mostrar nuestros datos como si de una tabla se tratase.

Al hacerlo de esta forma el programa que usemos para ver el Excel, lo entiende perfectamente y lo muestra correctamente.

Incluso si ponemos colores o un caption a la tabla, el Excel respetará como este creada la tabla.

Así que simplemente con lo siguiente:

Y al ejecutar el PHP, el navegador nos descargará un archivo llamado “nombre_archivo.xls” y ya podremos abrirlo con cualquier programa de Excel.

También podemos añadirle un poco de color a los campos usando los estilos.

Lo que no hay que abusar y revisar, porque no todos los estilos funcionan, pero algunos como color o background-color, si que funcionan.

Como podéis ver, podemos generar un archivo Excel con PHP de forma muy fácil.

Espero que os haya sido útil.

No olvidéis de comentar! En vuestro código! Y en el Blog! 😉

 

Comparte si te ha gustado:
Share on Facebook
Facebook
0Share on Google+
Google+
0Tweet about this on Twitter
Twitter
Share on LinkedIn
Linkedin
Share on Tumblr
Tumblr
0Digg this
Digg
17 Comments

    Lleir

    Hola,

    Tan solo una pregunta ¿A qué público va dirigida está ayuda?

      Oyagum

      Pues en principio va dirigido a cualquiera que le pueda servir, pero imagino que para gente que sepa algo de PHP y necesite tener un Excel con un listado de Base De Datos o similar, sin tener la necesidad de aprender a usar PHPExcel. Esa era mi idea 🙂

      Andres felipe Peña Ramirez

      a los programadores que estén interesados a aprender como exportar algo en excel la gran mayoría son reportes de alguna c.

    Paco Aguiar

    Gracias por la aportación.

      Oyagum

      Gracias a ti por leerme 🙂 espero se entienda bien 🙂

    Juan Sánchez

    Gracias por el aporte. En ocasiones abusamos de librerías de terceros para hacer cosas tan simples como generar un excel básico. Es importante conocer los lenguajes desde la base. Saludos.

      Oyagum

      Gracias a ti por comentar y me alegro un montón si te ha servido 🙂

    Arancha

    Buenos días,

    Gracias por el código, es rápido y útil.

    Pero cuando se abre el archivo Excel creado, se muestra un mensaje “El formato y la extensión de archivo de ‘nombre_archivo.xls’ no coindicen. Puede que el archivo esté dañado o no sea seguro. No lo abra a menos que confíe en su origen…”.
    ¿Hay alguna forma de evitar que salga ese aviso?

    Gracias. Un saludo.

      Oyagum

      Que va. He mirado mil maneras de hacerlo pero no lo he conseguido. Es la única pega de este método:( si consigues solucionarlo no dudes en comentarlo 😉

      Alejandro

      Amigo, en excel ve a opciones y busca en centro de confianza, configuración del centro de confianza y vista protegida…alli destilda las opciones de vista protegida… si eso no funciona, fijate que si tienes el antivirus Eset, tienes que tener activado el firewall de windows, sino te lo bloquea tambien, saludos!

      Marco

      Intenta cambiar la extensión, de XLS a XLSX. Comenta si resulto.

    hernan

    Amigo muchas gracias muy completa y facil de entender tu aporte muchas gracias en serio eres el mejor

      Oyagum

      Muchisimas gracias a ti por el comentario. Me alegro mucho que te haya servido;)

    Sebastian

    Genio! Fue de muchísima utilidad tu post.
    Gracias!

    Oyagum

    Gracias a ti por leer y comentar 🙂

    Me alegra mucho que te haya servido 😉

    Eduardo Bzura

    Como hago para variar la altura de una fila en el excel resultante ?
    Ocurre que debo agregar una foto en la ultima columna, y se me superponen.
    Entonces, pense que aumentando el tamaño de la fila, la foto puede verse correctamente.

      Oyagum

      Buenas,

      La verdad que este código es muy simple y no se puede modificar demasiado, es algo para salir del paso, la verdad que para hacer algo más con cara y ojos, necesitarias algunas herramientas más potentes, aquí te dejo algunas:

      http://faisalman.github.io/simple-excel-php/

      https://code.google.com/archive/p/php-excel/

      https://github.com/PHPOffice/PhpSpreadsheet

      Espero que te sirva alguno de ellos. Realmente no he necesitado hacer nunca un excel más complejo, pero entiendo que pueda ocurrir.

      Espero que te sirva lo que te paso.

      Un saludo y ya comentaras a ver que tal 😉

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*
*

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.