Como exportar registros de una tabla a Excel con PHP

Exportar a Excel desde PHP y MYSQL

Publicado en PHP 2018-04-10 17:20:28

Como exportar registros de una tabla a Excel con PHP

Exportar desde PHP a Excel

Php

Resumen: Sencilla forma de exportar una lista de usuarios desde php y mysql a excel, con link de descarga.

Alguna aplicaciones web necesitan de reportes visuales y reportes hacia documentos legibles que pueden ser en PDF, EXCEL, Etc... en esta ocación veremos la forma más sencilla de exportar un listado de usuarios a formato excel creandose un documento para su descarga.

  1. Creación de la tabla usuarios MYSQL
  2. Conexión a la Base de Datos
  3. Archivo que debe realizar el proceso de generación del doc. excel
  4. Archivo principal que llama al archivo index.php

Creación de la tabla Usuarios MYSQL

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;

.

Conexión a la Base de Datos y Gestión de consultas

Para la conexión usaremos una clase que nos esta ayudando en gran parte de nuestros proyectos.

  • Conexion script en PHP  ver 
  • Clase para gestionar las consultas a la BD MYSQL ver. Esta clase contiene muchos métodos, de los cuales solo emplearemos el método search, que nos servira para buscar una coincidencia.

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

.

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 EXCEL</a>

Y listo nos exportar la lista de la tabla usuario a excel. descargando un documento.

Redacción:| Artículo leído: 486 veces | Publicación:


Compártelo con tus amigos


Publicaciones relacionadas de PHP