martes, 10 de abril de 2012

Leer fichero Excel y procesar filas con Php

Otra tarea habitual en las aplicaciones Web es la de leer ficheros Excel para procesar sus filas y, por ejemplo, importarlas a nuestra base de datos, generar informes, etc. Este proceso podemos agilizarlo con la clase que hoy os presento: Spreadsheet_Excel_Reader.





Su uso es muy sencillo. Simplemente hay que agregar la clase con require_once 'reader.php'; crear una instancia con $data = new Spreadsheet_Excel_Reader(); se establece la codificación del archivo $data->setOutputEncoding('CP1251'); y leemos el fichero miexcel.xls guardando el resultado en el array data, el cual posteriormente recorreremos para realizar el proceso que necesitemos.
require_once 'reader.php';
$data = new Spreadsheet_Excel_Reader();
$data->setOutputEncoding('CP1251');
$data->read('miexcel.xls');
for($fila=1;$fila<=$data->sheets[0]['numRows'];$fila ++)
{
  $campo1=$data->sheets[0]['cells'][$fila][1];
  $campo2=$data->sheets[0]['cells'][$fila][2];
  ... resto de campos y realizar proceso
}
La clase Spreadsheet_Excel_Reader la puedes escargar desde aquí.

2 comentarios :

  1. como puedo leer por ejemplo, solo la fila a,b y c de un excel ??

    ResponderEliminar
    Respuestas
    1. ¿Te refieres a las 3 primeras filas del excel?, pues a la hora de crear el for especificas desde la fila 1 hasta la 3:

      for($fila=1;$fila<=3;$fila ++)

      Eliminar