Erreur avec PHPExcelReader
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 :
Code:
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 />";
} |
Mes messages d'erreur sont les suivant :
Code:
Deprecated: Assigning the return value of new by reference is deprecated in C:\wamp\www\ProjetPHP\Excel\reader.php on line 261
Alors celui, honnetement, je ne le comprend absolument pas.
Les autres sont de ce type là :
Code:
Notice: Undefined offset: 2 in C:\wamp\www\ProjetPHP\formEtudiant.php on line 22
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).
Pour info la ligne 22 est celle-ci :
Code:
if($xlsReader->sheets[0]["cells"][$i][$j] == "NOM"){
La seule solution que j'ai trouvé, c'est de mettre ça :
Code:
error_reporting(E_ALL ^ E_NOTICE);
Mais bon, je préférerais comprendre d'où vienne les erreurs plutôt que de les cacher.
Si vous avez une solution.
Merci d'avance.