Revista Blog

Cómo exportar a Excel desde PHP

Por Mauricio Sevilla @configuroweb

Cómo exportar a Excel desde PHP

Por medio de esta aplicación sobre la que se comparte el código puedes aprender cómo exportar a Excel desde PHP. el sistema permite ingresar nombre, apellido y dirección del usuario. Los registros se suben a la base de datos y se muestran en la misma vista principal y desde un botón se exportan los registros ingresados a un documento de Excel.

Funcionamiento de la aplicación que permite exportar a Excel desde PHP

La aplicación consta de cuatro archivos, conn.php que es el que tiene la conexión con la base de datos, create_excel.php que es el documento que permite generar el archivo Excel, index.php que es la página que ve el usuario final y por último save.php, que es el archivo que guarda los registros en la base de datos.

La página del index.php tiene dos por medio del que se comunica con los documentos de save.php y el de create_excel.php con el método POST. La página save.php guarda los registros que se envían desde un que se diligencia en el index y la página create_excel.php ensambla el documento de Excel a generar.

Explicación de la página create_excel.php

Lo que permite que se genere el archivo de Excel, según los datos ingresados y visibles en la tabla desde el index son los siguientes datos:

header("Content-Type: application/xls"); header("Content-Disposition: attachment; filename=documento_exportado_" . date('Y:m:d:m:s').".xls"); header("Pragma: no-cache"); header("Expires: 0");

El segundo header es el que encuadra el nombre del archivo, al que para no repetir el nombre igual que con otra publicación previa donde explico como exportar de formulario HTML a MS Word con PHP se le implementó la función date, incluyendo minutos y segundos, pero si no te quieres complicar puedes dejar el parámetro filename con el nombre que quieras que tenga el documento.

Explicación de la página save.php

Esta página tiene el include del archivo de conexión conn.php que es el que tiene las credenciales de la base de datos, para hacer los INSERT INTO a la base de datos con la función MySQLI

Puesta a punto del sistema diseñado para exportar tabla a Excel desde PHP

El sistema como es habitual está colgado en GitHub en el siguiente enlace:

El sistema requiere la base de datos, que es el código SQL que está a continuación:

-- phpMyAdmin SQL Dump -- version 5.1.1 -- https://www.phpmyadmin.net/ -- -- Servidor: 127.0.0.1 -- Tiempo de generación: 13-08-2021 a las 21:53:13 -- Versión del servidor: 10.4.19-MariaDB -- Versión de PHP: 8.0.7 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; START TRANSACTION; SET time_zone = "+00:00"; /*!40101 SET @[email protected]@CHARACTER_SET_CLIENT */; /*!40101 SET @[email protected]@CHARACTER_SET_RESULTS */; /*!40101 SET @[email protected]@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8mb4 */; -- -- Base de datos: `exportar_excel` -- -- -------------------------------------------------------- -- -- Estructura de tabla para la tabla `member` -- CREATE TABLE `member` ( `mem_id` int(11) NOT NULL, `firstname` varchar(50) NOT NULL, `lastname` varchar(50) NOT NULL, `address` varchar(100) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Volcado de datos para la tabla `member` -- INSERT INTO `member` (`mem_id`, `firstname`, `lastname`, `address`) VALUES (1, 'Juan', 'Usuario', 'Carrera 13 N 23 12'), (2, 'Pedro', 'Usuario', 'Calle 98 N 145 12'); -- -- Índices para tablas volcadas -- -- -- Indices de la tabla `member` -- ALTER TABLE `member` ADD PRIMARY KEY (`mem_id`); -- -- AUTO_INCREMENT de las tablas volcadas -- -- -- AUTO_INCREMENT de la tabla `member` -- ALTER TABLE `member` MODIFY `mem_id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3; COMMIT; /*!40101 SET [email protected]_CHARACTER_SET_CLIENT */; /*!40101 SET [email protected]_CHARACTER_SET_RESULTS */; /*!40101 SET [email protected]_COLLATION_CONNECTION */;

Para instalar la aplicación en tu ordenador a nivel local puedes seguir las indicaciones de la siguiente publicación:

Descarga del sistema que explica cómo exportar a Excel desde PHP

Si tienes inconvenientes para descargar mi repositorio de GitHub, te puedes guiar por el siguiente vídeo:

Subir el sistema hecho en PHP a un Hosting

Si deseas subir el sistema a un hosting en Internet, te puedes basar el vídeo a continuación:

Quedo al pendiente de cualquier duda, saludos !!


Volver a la Portada de Logo Paperblog