Portada » Lenguaje PHP » Generar archivos Excel con PHP y MySQL

Generar archivos Excel con PHP y MySQL

Generar archivos Excel con PHP y MySQL. Sin duda hoy en día el lenguaje PHP está creciendo muy bien en el ámbito del desarrollo de sistemas web y/o páginas web. Podemos apreciar que interactúa de una manera muy sencilla con los famosos programas de uso diario como ser: Word, Excel, Power Point, PDFs.

PHP puede insertar registros a la base de datos mediante un formulario y el uso de funciones propias del lenguaje. Sin embargo, también puede extraer esos registros a una página web que el usuario quiere mostrar y/o generar un nuevo fichero en Excel con su nombre y puede usted descargarlo sin complicaciones. PHP de manera dinámica muestra la información extraída de una base de datos, por ejemplo MySQL.

Generar archivos Excel con PHP y MySQL

¿Qué necesitamos para lograr este objetivo?

Básicamente unir algunos lenguajes como los siguientes que listaremos a continuación.

  • Lenguaje HTML que sería el resultado final
  • Una librería llamada Bootstrap para darle la interfaz moderna.
  • Un lenguaje potente como PHP
  • Base de datos para almacenar y extraer información (MySQL).

Recursos para la implementación de nuestro sistema

Una base de datos llamada «php_phpexcel» y su tabla con el nombre «contactos»

CREATE TABLE `contactos` (
  `id` int(11) NOT NULL,
  `nombres` varchar(250) NOT NULL,
  `email` varchar(250) DEFAULT NULL,
  `asunto` varchar(220) DEFAULT NULL,
  `mensajes` text,
  `fcreacion` datetime DEFAULT NULL,
  `fmodificacion` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;

--
-- Volcado de datos para la tabla `contactos`
--

INSERT INTO `contactos` (`id`, `nombres`, `email`, `asunto`, `mensajes`, `fcreacion`, `fmodificacion`) VALUES
(1, 'Mario', 'admin25@mimailes.com', 'Examen 01', 'Mi resultado 01', '2018-04-24 21:03:00', NULL),
(2, 'Mario', 'admin25@mimailes.com', 'Examen 02', 'Mi resultado 02', '2018-04-24 21:20:07', NULL),
(3, 'Mario', 'admin25@hotmail.com', 'Examen 03', 'Mi resultado 03', '2018-04-24 21:37:52', NULL),
(4, 'Mario Giron', 'admin25@mimailes.com', 'Examen 04', 'Mi resultado 04 del parcial', '2018-04-24 12:24:27', NULL),
(5, 'Mario Giron', 'admin25@mimailes.com', 'Examen 05', 'Mi resultado 05 del parcial', '2018-04-24 12:26:35', NULL);

Archivo db.php

Fichero de conexión con el gestor de base de datos utilizando MySQLi para tal objetivo.

<?php
// Configuración necesaria para acceder a la data base.
$hostname = "localhost";
$usuariodb = "root";
$passworddb = "root";
$dbname = "php_phpexcel";
	
// Generando la conexión con el servidor
$conectar = mysqli_connect($hostname, $usuariodb, $passworddb, $dbname);
?>

El archivo form_contacto.php

Este archivo será el encargado de recoger la información que posteriormente sera almacenada en la base de datos.

<form class="form-horizontal" name="formcontato" method="POST" action="MensajeError.php">
  <div class="form-group">
    <label for="inputEmail3" class="col-sm-2 control-label"> Nombres: </label>
    <div class="col-sm-10">
      <input type="text" class="form-control" name="nombres" placeholder="Nombre Completo" 
						<?php
							if(!empty($_SESSION['value_nombres'])){
								echo "value='".$_SESSION['value_nombres']."'";
								unset($_SESSION['value_nombres']);
							}
						 ?>	>
      <?php
							if(!empty($_SESSION['baulphp_nombres'])){
								echo "<p style='color: #f00; '>".$_SESSION['baulphp_nombres']."</p>";
								unset($_SESSION['baulphp_nombres']);
							}
						 ?>
    </div>
  </div>
  <div class="form-group">
    <label for="inputEmail3" class="col-sm-2 control-label"> E-mail: </label>
    <div class="col-sm-10">
      <input type="email" class="form-control" name="email" placeholder="Su e-mail" 
						<?php
							if(!empty($_SESSION['value_email'])){
								echo "value='".$_SESSION['value_email']."'";
								unset($_SESSION['value_email']);
							}
						 ?>>
      <?php
							if(!empty($_SESSION['baulphp_email'])){
								echo "<p style='color: #f00; '>".$_SESSION['baulphp_email']."</p>";
								unset($_SESSION['baulphp_email']);
							}
						 ?>
    </div>
  </div>
  <div class="form-group">
    <label for="inputEmail3" class="col-sm-2 control-label"> Asunto: </label>
    <div class="col-sm-10">
      <input type="text" class="form-control" name="asunto" placeholder="Asunto de contacto" 
						<?php
							if(!empty($_SESSION['value_asunto'])){
								echo "value='".$_SESSION['value_asunto']."'";
								unset($_SESSION['value_asunto']);
							}
						 ?>>
      <?php
							if(!empty($_SESSION['baulphp_asunto'])){
								echo "<p style='color: #f00; '>".$_SESSION['baulphp_asunto']."</p>";
								unset($_SESSION['baulphp_asunto']);
							}
						 ?>
    </div>
  </div>
  <div class="form-group">
    <label for="inputEmail3" class="col-sm-2 control-label"> Mensaje: </label>
    <div class="col-sm-10">
      <?php
							if(!empty($_SESSION['value_mensaje'])){ ?>
      <textarea class="form-control" name="mensagem"><?php echo $_SESSION['value_mensaje']; ?></textarea>
      <?php
								unset($_SESSION['value_mensaje']);
							}else{ ?>
      <textarea class="form-control" name="mensaje"></textarea>
      <?php }
						?>
      <?php
							if(!empty($_SESSION['baulphp_mensaje'])){
								echo "<p style='color: #f00; '>".$_SESSION['baulphp_mensaje']."</p>";
								unset($_SESSION['baulphp_mensaje']);
							}
						 ?>
    </div>
  </div>
  <input class="btn btn-success" type="submit" value="Enviar" onClick="return validar_form_contato()">
</form>
Generar archivos Excel con PHP y MySQL
Generar archivos Excel con PHP y MySQL

CONCLUSIÓN

Hoy en día la mayoría de sistemas ya posee esta opción, no solo exportar a Excel sino a varios programas externos. Por ejemplo, PDF, Word e incluso power point para lo cual se utiliza PHP como medio de poblar esos archivos extraídos de una base de datos.

Esto da al sistema web una dinámica para manejar la información de diferentes modos, si desean implementar dicha interfaz en sus sistemas aquí les dejo el paquete ya listo para que lo puedan descargar y hacer unas configuraciones con el tema de la conexión con la base de datos.

DESCARGA

Descargar Código Fuente

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuarlo!

Promedio de puntuación 1 / 5. Recuento de votos: 1

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Scroll al inicio
Esta web utiliza cookies propias para su correcto funcionamiento. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos.
Privacidad