[Programa] Leer xls con PHP

No Gravatar

Como la mayoría de mi puesto, incluso esto viene no sólo con la intención de hacer algo de información, que me recuerdan de cómo he resuelto un problema que se me ocurrió: En realidad mi memoria suele ser engañosa, y googol Para encontrar la misma información más de una vez no me gusta mucho ^ _ ^

Una actividad que a menudo tenemos que hacer es el proceso "en marcha" un archivo xls (quizá como resultado dell'upload a disposición del usuario) y gestionar los datos contenidos en ella (que probablemente se estructurará como se esperaba lo contrario, la cosa es .. práctico), por ejemplo, las mesas populares en una base de datos o simplemente verlos en nuestro sitio.

Bueno, la solución a este problema es más fácil que usted piensa.

Se ejecuta un proyecto en Sourceforge que lo hace disponible a través de todo lo que la clase de ExcelReader que necesitamos.

Tras haber incluido al reader.php dos archivos y oleread.inc en el guión y estaremos listos para hacer el trabajo "sucio".

En primer lugar inicializamos nuestra clase y luego passiamogli el archivo para abrir:

  $ Data-> read ( 'nome_filel.xls'); 

La próxima cosa a hacer, por supuesto, es hacer un bucle para cada fila y columna señalando que:

  $ Data-> sheets [0] [ 'numRows'];
 $ Data-> sheets [0] [ 'numCols']; 

representan el número de filas y columnas en el archivo XLS (sobre todo en la primera hoja de papel).
En este punto podemos tomar el valor contenido en cada acceso de la célula como lo hacemos con una matriz de trivial:

  $ Data-> sheets [0] [ 'cells'] [$ i] [$ i]; 

Un script de ejemplo para mostrar una base de datos de vídeo de un archivo xls en forma de tabla son los siguientes:

  <?
 Excel require_once '/ reader.php';
 $ Data = new Spreadsheet_Excel_Reader ();
 $ Data-> setOutputEncoding ( 'CP1251');
 $ Data-> read ( 'nome_file.xls');
 error_reporting (E_ALL ^ E_NOTICE);

 echo "<table>";
 for ($ i = 1, $ i <= $ data-> sheets [0] [ 'numRows'], $ i + +) (
         echo "<tr>";
	 for ($ i = 1, $ i <= $ data-> sheets [0] [ 'numCols'], $ j + +) (
		 echo "<td>. $ data-> sheets [0] [ 'cells'] [$ i] [$ j ]."</ td>";
	 )
	 echo "</ tr>";
 )
 echo "</ table>";
 ?> 

PS: Por supuesto que también puede bucle en las hojas que componen el archivo .. xls

Reblog este post [con Zemanta]

Popularidad: 8% [?]

Etiquetas:


leave a response , or trackback from your own site. Puedes seguir cualquier respuesta a esta entrada a través de la alimentación de la RSS 2.0. Puedes dejar una respuesta, o trackback desde tu propio sitio.

AddThis Social Bookmark Button

Este sitio web utiliza los comentarios IntenseDebate, pero no se cargan actualmente Porque, o tu navegador no soporta JavaScript, o no se carga con suficiente rapidez.

Deje una contestación