Expansión empresarial 4.0

5 puntos claves para tener éxito trabajando con freelancers.

Cómo exportar datos a excel con php


Exportar datos a Excel con PHP realmente es algo MUY sencillo y no requiere de librerías externas o mayores complicaciones.

Esta es otra de mis entradas o tips rápidos, en esta ocasión sobre programación.

Recientemente tuve la necesidad de exportar registros de MySql con PHP, más específicamente en formato Excel o .xls, como quieras llamarlo. 😉


Exportando datos de mysql a excel con php

Muy bien, no voy a entrar en detalles sobre el script en particular porqué es realmente básico, sin embargo, recuerda que si tienes dudas, siempre puedes dejarlas en los comentarios. 😉

/*--------------------------------------------------------------
* Función encargada de exportar a excel.
* Recibe como parametro un arreglo de datos.
*---------------------------------------------------------------*/

    function exportProductDatabase($productResult) {

            $timestamp = time();
            $filename = 'Export_' . $timestamp . '.xls';
            
            header("Content-Type: application/vnd.ms-excel");
            header("Content-Disposition: attachment; filename=\"$filename\"");
            
            $isPrintHeader = false;

            foreach ($productResult as $row) {

                if (! $isPrintHeader ) {

                    echo implode("\t", array_keys($row)) . "\n";
                    $isPrintHeader = true;

                }

                echo implode("\t", array_values($row)) . "\n";

            }

            exit();

        }


El anterior script hace todo el trabajo.

Te explico: La función de nombre exportProductDatabase() recibe como parámetro un arreglo con la información a exportar o incluir en el excel.

Tan simple como hacer una consulta a MySQL y almacenar el resultado en una variable, luego pasar esa variable a la función.

Detalles importantes: Los encabezados o “headers” son obligatorios y se encargaran de darle formato al archivo de salida.

La función array_keys(), imprime o establece el nombre de las columnas.

La función array_values() hace justo lo mismo que su similar, pero con los valores de las columnas.

Se utiliza isPrintHeader para determinar si ya se estableció el nombre de las columnas y así ejecutar array_keys(), solo una vez.

Es todo, el anterior código, luce para mi de esta forma:

Hemos terminado. 😉

Si, tal cual, es un tip muy rápido, mientras en realidad aprovecho para documentar esto en mi Blog.

Si tienes cualquier duda sobre el proceso para exportar datos con PHP o simplemente quieres que hable sobre algún tema, no dudes en dejar TODO en los comentarios.

Compartir es amor. 😉

2 comentarios en “Cómo exportar datos a excel con php”

  1. Hola capaz este no se a el medio pero necesito ayuda, yo tengo una pagina web donde le cargo un numero y me tira en otra solapa un archivo .php, mi pregunta es la siguiente, saben si existe la posibilidad si cargando ese numero en excel me devuelve el o los valores del .php que uno necesite? no se si fui claro, espero me puedan ayudar

    Responder
    • Hola Matias!

      En efecto es posible hacer lo que mencionas, pero no me queda clara tu pregunta, no del todo. ¿Quieres formularla con más claridad? Con gusto te indico el camino. 😉

      Responder

COMENTARIOS