Exportar a Excel una tabla Mysql con PHP

Cómo exportar registros de una tabla a Excel con PHP+MYSQL

Exportar a Excel una tabla Mysql con PHP

Cómo exportar registros de una tabla a Excel con PHP+MYSQL

PHP

Sencilla forma de exportar una lista de usuarios desde PHP y Mysql a Excel, con link de descarga. Sin agregar librerías, super fácil y rápido de programar

¡Hola!...Bienvenido a este pequeño tutorial sobre cómo exportar una tabla Mysql usando PHP a un formato de Excel XLS.

Al grano, en algunas aplicaciones web necesitas funcionalidades como reportes visuales y deben ser reportes hacia documentos legibles que sean de fácil interpretación a un usuario común los probables formatos son en PDF, EXCEL, Etc... en esta ocación veremos la forma más sencilla de exportar datos de una base de datos a Excel, el caso práctico en ésta ocasión es "un listado de usuarios a formato excel"; creándose un documento para su descarga automática desde la misma aplicación web. Y una cosa muy importante que quiero hacer incapié que es sin usar librerías adicionales, las cuáles pueden ralentizar el proceso de tu aplicación. Claro ello depende de algunos factores pero uno de ellos puede ser usar librerías.

Puntos esenciales para crear el exportador a Excel de PHP y MYSQL

Bueno, al punto. ¿Qué actividades vamos a llevar a cabo? son los pasos que también tienes que tener en cuenta antes de empezar. ¿Por qué? porque me dió y te dará cierto orden a la hora de desarrollar. Y son lo siguientes:

  1. Creación de la base de datos y la tabla usuarios en MySql
  2. Conectarse a la base de datos con PHP y MySql
  3. Programación del archivo PHP que debe realizar el proceso de generación a formato Excel xls. tendrá el nombre excel.php
  4. La creacion de un archivo principal que llamará index.php, este enlazará a excel.php

1.- Creación de la tabla Usuarios MYSQL

Ahora. Antes de debes crear una base de datos, yo usé el servidor local Xampp, donde creé la base de datos, le dí el nombre de bdusuarios y dentro ejecuté en la consola SQL el siguiente script MYSQL, o también puedes crear la tabla con la interfaz gráfica de Xampp puedes usar cualquier nombre para la tabla, particularmente yo usé el nombre de usuario. Veamos el código MYSQL:

CREATE TABLE `usuario` (
  `id` int(11) NOT NULL,
  `nombre` varchar(50) NOT NULL,
  `dni` varchar(8) NOT NULL,
  `telefono` varchar(9) NOT NULL,
  `email` varchar(50) NOT NULL,
  `direccion` varchar(100) NOT NULL,
  `sector` varchar(10) NOT NULL,
  `nrocartilla` varchar(20) NOT NULL,
  `urlfoto` varchar(100) DEFAULT NULL,
  `urlqr` varchar(50) DEFAULT NULL,
  `updated_at` date NOT NULL,
  `created_at` date NOT NULL,
  `estado` tinyint(1) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `usuario` (`id`, 
`nombre`, 
`dni`, 
`telefono`, 
`email`, 
`direccion`, 
`sector`, 
`nrocartilla`, 
`urlfoto`, 
`urlqr`, 
`updated_at`, 
`created_at`, 
`estado`) 
VALUES
(98, 
'Gonzalo Higuain', 
'09234902', 
'120949210', 
'sadministracion@vitatours.com.pe', 
'Av. Los determinantes #212', 
'X', 
'C2018U98', 
'pretty-2111498_960_720.jpg', 
'qr_98.png', 
'2018-04-06', 
'2018-04-06', 
0),

ALTER TABLE `usuario`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `dni` (`dni`),
  ADD UNIQUE KEY `email` (`email`);

ALTER TABLE `usuario`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=133;
COMMIT;

El script crea la base de datos e inserta unos registros que nos ayudará para debugear o mejor dicho testear el resultado del código interpretado.

2.- Conexión a la Base de Datos y Gestión de consultas

Para la conexión, usaremos un par de clases con que me realmente me ayudan en gran parte de mis proyectos. 

3.- Archivo que debe realizar el proceso de generación del doc. excel

Lo llamaremos excel.php, quién creará el doc. excel para su descarga 

<?php
date_default_timezone_set('America/Lima');
$fecha = date("d-m-Y H:i:s");
require_once("class.mysql.php");
$user=new Usuario();
$salida ="";
$salida .= "<table><thead><th>NOMBRE</th><th>DNI</th><th>Email</th><th>Telefono</th><th>Area</th><th>Cargo</th></thead><tbody>";
$u=$user->search("usuario","updated_at='".$fecha."'");
while($r=$u->fetchObject()){
$salida .= 	"<tr><td>".$r->id."</td>
			<td>".$r->nombre."</td>
			<td>".$r->dni."</td>
			<td>".$r->email."</td>
			<td>".$r->telefono."</td>
			<td>".$r->direccion."</td>
			<td>".$r->sector."</td></tr>";
}
header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=usuarios_$fecha.xls");
header("Pragma: no-cache");
header("Expires: 0");
echo $salida;
?>

4.- Archivo principal que llama al archivo index.php

Este archivo es típico html, al cual se le agrega en el body la siguiente línea.

<a href="excel.php" class="btn btn-danger">EXPORTAR A EXCEL</a>

5.- Conclusión final

Finalmente tenemos una funcionalidad básica y sencilla, pero fácil de implementar en tu aplicación web. Lógicamente todo código se puede mejorar y/o optimizar.

Bueno, hasta un próximo tutorial.

Compártelo...talvez alguién lo necesite!

Whatsapp Messenger Facebook Twitter

Visitado 7263 veces | Publicado hace 2 años

Curso Flutter y Laravel Tienda Abarrotes con Delivery

Mira el temario del curso en el siguiente link
VER MÁS DETALLES DEL CURSO

Logo Codea App

© Todos los derechos reservados CODEA APP | Cursos de programación avanzados con proyectos reales | 2020