[Program] Lire xls avec PHP

Pas de Gravatar

Comme la plupart de mon poste même ce ne vient pas seulement avec l'intention de faire un peu de «l'information, pour me rappeler comment j'ai résolu un problème qui s'est produit pour moi: en fait, ma mémoire est généralement fallacieux et googol Pour trouver les mêmes informations plus d'une fois, je n'aime pas beaucoup ^ _ ^

Une activité qui, souvent, nous avons à faire est de traiter «à la volée" un fichier xls (peut-être en raison dell'upload disposition de l'utilisateur) et de gérer les données qu'il contient (peut-être structurée comme nous nous attendions à autre chose est la .. pas pratique), par exemple, les tableaux populaire dans une base de données ou simplement les afficher sur notre site.

Eh bien, la solution à ce problème est plus facile que vous le pensez.

Elle gère un projet sur Sourceforge qui le rend disponible via le tout classe ExcelReader nous avons besoin.

Après avoir inscrit les deux reader.php fichiers et oleread.inc dans notre script et nous serons prêts à faire le travail "sale".

Nous avons d'abord initialiser notre classe puis passiamogli le fichier à ouvrir:

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

La prochaine chose à faire, bien sûr, est de faire une boucle pour chaque ligne et colonne en soulignant que:

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

représentent le nombre de lignes et de colonnes dans le fichier xls (en particulier dans la première feuille de papier).
À ce point, on peut prendre la valeur contenue dans chaque cellule de l'accès comme nous le faisons avec une matrice triviale:

  $ Data-> sheets [0] [ 'cellules'] [$ i] [$ j]; 

Un exemple de script pour afficher une des données vidéo à partir d'un fichier xls sous forme de tableau sont les suivantes:

  <?
 require_once 'Excel / 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 ($ j = 1, $ j <= $ data-> sheets [0] [ 'numCols'], $ j + +) (
		 echo "<td>. $ data-> sheets [0] [ 'cellules'] [$ i] [$ j ]."</ td>";
	 )
	 echo "</ tr>";
 )
 echo "</ table>";
 ?> 

PS: Bien sûr vous pouvez aussi en boucle sur les feuilles qui composent le fichier xls ..

Reblog ce poste [de Zemanta]

Popularité: 8% [?]

Tags:


leave a response , or trackback from your own site. Vous pouvez suivre les réponses à ce bulletin avec le 2.0 feed RSS. Vous pouvez laisser une réponse, ou un trackback depuis votre propre site.

AddThis Social Bookmark Button

Ce site web utilise des commentaires IntenseDebate, mais ils ne sont pas actuellement chargés en raison soit votre navigateur ne supporte pas le JavaScript, ou ils ne se charge pas assez vite.

Laissez une réponse