En el mundo de la programación Leer un archivo Excel con PHP. En este artículo veremos la forma de leer un fichero Excel con extensión (.xlxs). Sin embargo, para lograr tal resultado usaremos librerías externas como el PHPExcel disponible para descarga desde su repositorio oficial.
Sistema para Leer Archivo Excel con PHP
Los sistemas de hoy en día tienen que ser muy flexibles y uno de estas características es de admitir importar información de un archivo de Excel para almacenarlo en la base de datos como registros en MySQL.
¿Qué es PHPExcel?
Cabe resaltar que PHPExcel
es una librería para importar y exportar hojas de cálculo (Archivos de Excel), que nos permite leer y escribir archivos.
¿Qué recursos necesito para leer un archivo Excel?
Necesitamos varios recursos y los mencionamos a continuación:
- Lenguaje PHP.- Es el lenguaje base para este ejemplo.
- Librería PHPExcel.- Nos permitirá leer archivos Excel.
- Framework BootStrap.- Nos dará la interfaz profesional para este ejemplo
- Lenguaje de marcas HTML.- Estructura de nuestro ejemplo usando HTML5
- Fichero Excel.- Un fichero de ejemplo para poder leerlo con PHP
El componente principal a tener en cuenta es descargar la librería PHPExcel del repositorio oficial en Github.
Descargar repositorio PHPExcel: https://github.com/PHPOffice/PHPExcel
Leer archivo Excel con PHP
A continuación, veremos los procedimientos para implementar un sistema completo para poder leer archivos Excel y que posteriormente pueda ser importado a MySQL como registros. Además, el fichero será con extensión (.xlsx).
Procedimiento del Sistema
El procedimiento consta de 5 pasos que debemos de implementar para lograr nuestro objetivo.
Primer paso: Declarar la librería PHPExcel
Lo primero es declarar la carpeta PHPExcel y debe estar ubicada dentro de nuestro proyecto, veamos un ejemplo.
Segundo paso: Declarar librería externas BootStrap
Además, también podemos incluir librerías externas de BootStrap.
<head> <title>Leer Archivo Excel usando PHP</title> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap-theme.min.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script> </head>
Tercer paso: Incluir la librería dentro del Fichero
Usando la función require_once
podemos llamar a la librería para que pueda leer nuestros ficheros Excel.
// Debemos incluir la libreria require_once 'PHPExcel/Classes/PHPExcel.php';
Cuarto paso: Variable contenedor del archivo Excel
Se usara la variable llamada “$archivo
” que contendrá el nombre de un fichero Excel con su respectiva extensión. Sin embargo, también se podría usar un formulario HTML para cargar un fichero y poder asignarlo a la variable “$archivo
“.
$archivo = "ListaPersonal.xlsx";
Quinto paso: Visualizar la información del Excel
Para este paso nos podemos apoyar en el ciclo FOR para devolver los registros de nuestro Excel. Por lo tanto, PHPExcel leerá cada celda de nuestro archivo Excel y los devolverá en el navegador.
Si observamos, “$sheet->getCell("A".$row)->getValue();
“, está llamando a la celda “A” y así sucesivamente hasta la celda “D“. Sin embargo, como es un ciclo devolverá todos los resultados del Excel.
<?php $num=0; for ($row = 2; $row <= $highestRow; $row++){ $num++;?> <tr> <th scope='row'><?php echo $num;?></th> <td><?php echo $sheet->getCell("A".$row)->getValue();?></td> <td><?php echo $sheet->getCell("B".$row)->getValue();?></td> <td><?php echo $sheet->getCell("C".$row)->getValue();?></td> <td><?php echo $sheet->getCell("D".$row)->getValue();?></td> </tr> <?php } ?>
Mostrando el ejemplo completo: Leer archivo Excel con PHP
En este punto vemos el código completo para leer ficheros Excel
<body> <div class="container"> <h2>Ejemplo: Leer Archivos Excel con PHP</h2> <div class="panel panel-primary"> <div class="panel-heading"> <h3 class="panel-title">Resultados de archivo de Excel.</h3> </div> <div class="panel-body"> <div class="col-lg-12"> <?php require_once 'PHPExcel/Classes/PHPExcel.php'; $archivo = "ListaPersonal.xlsx"; $inputFileType = PHPExcel_IOFactory::identify($archivo); $objReader = PHPExcel_IOFactory::createReader($inputFileType); $objPHPExcel = $objReader->load($archivo); $sheet = $objPHPExcel->getSheet(0); $highestRow = $sheet->getHighestRow(); $highestColumn = $sheet->getHighestColumn(); ?> <table class="table table-bordered"> <thead> <tr> <th>#</th> <th>Nombres</th> <th>Apellidos</th> <th>Cargo</th> <th>Sede</th> </tr> </thead> <tbody> <?php $num=0; for ($row = 2; $row <= $highestRow; $row++){ $num++;?> <tr> <th scope='row'><?php echo $num;?></th> <td><?php echo $sheet->getCell("A".$row)->getValue();?></td> <td><?php echo $sheet->getCell("B".$row)->getValue();?></td> <td><?php echo $sheet->getCell("C".$row)->getValue();?></td> <td><?php echo $sheet->getCell("D".$row)->getValue();?></td> </tr> <?php } ?> </tbody> </table> </div> </div> </div> </body>
Resultado en el navegador
La siguiente imagen muestra la ejecución del script PHP en el navegador web.
CONCLUSIÓN: Leer archivo Excel con PHP
En comentarios me solicitaron con leer archivos Excel usando PHP. Justamente, aquí les mostré el ejercicio completo para leer ficheros Excel.
Como han podido apreciar la implementación de lectura es sencilla y esperando que esta breve explicación les ayude en sus proyectos web.
Nota: El archivo de prueba, les dejare en el paquete comprimido que tiene todos los recursos para este ejemplo.
Descargar Sistema para visualizar Archivos Excel con Php