Saltar al contenido

Sistema para Leer Archivo Excel con PHP

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.

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

Comparte