Bonsoir,
Voilà, j'ai un fichier excel composé de 3 colonnes et de x lignes. Je dois pouvoir lire les informations de ce que contient ce tableau (sauf la première qui correspond au en-tête genre nom, prénom, etc...) de n'importe où qu'il soit placé (genre s'il débute ligne 20 colonne 20 je doit commencer la lecture de là).
Bref, ce n'est pas le problème qui me préoccupe. En gros, tout marche. Mais j'ai des messages que je ne n'arrive pas à comprendre et qui pour moi ne devrait pas apparaitre.
Voilà mon code :
Mes messages d'erreur sont les suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 $fichier = "F:\ProjetPHP\FichierTest\FichierTest.xls"; include "Excel/reader.php"; $xlsReader = new Spreadsheet_Excel_Reader(); $xlsReader->read($fichier); $nbRows = $xlsReader->sheets[0]["numRows"]; $nbCols = $xlsReader->sheets[0]["numCols"]; $cNom = 0; $cPrenom = 0; $cMail = 0; $ligne = 0; for($i = 1;$i <= $nbRows;$i++){ for($j = 1;$j <= $nbCols;$j++){ if($xlsReader->sheets[0]["cells"][$i][$j] == "NOM"){ $cNom = $j; $cPrenom = $j+1; $cMail = $j+2; $ligne = $i+1; break; } } } for($i = $ligne;$i <= $nbRows;$i++){ echo "NOM : ".$xlsReader->sheets[0]["cells"][$i][$cNom]." / PRENOM : ".$xlsReader->sheets[0]["cells"][$i][$cPrenom]." / MAIL : ".$xlsReader->sheets[0]["cells"][$i][$cMail]."<br />"; }
Alors celui, honnetement, je ne le comprend absolument pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Deprecated: Assigning the return value of new by reference is deprecated in C:\wamp\www\ProjetPHP\Excel\reader.php on line 261
Les autres sont de ce type là :
Ceux la me paraisse bizarre car il corresponde à mes boucles for. Pour moi, cela veut dire que je sort du tableau (indice trop grand). Or, je n'en sors jamais (le tableau excel va de l'indice 1 a numRows, j'ai testé pour être sur).
Code : Sélectionner tout - Visualiser dans une fenêtre à part Notice: Undefined offset: 2 in C:\wamp\www\ProjetPHP\formEtudiant.php on line 22
Pour info la ligne 22 est celle-ci :
La seule solution que j'ai trouvé, c'est de mettre ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part if($xlsReader->sheets[0]["cells"][$i][$j] == "NOM"){
Mais bon, je préférerais comprendre d'où vienne les erreurs plutôt que de les cacher.
Code : Sélectionner tout - Visualiser dans une fenêtre à part error_reporting(E_ALL ^ E_NOTICE);
Si vous avez une solution.
Merci d'avance.








Répondre avec citation
Partager