J'essaie de lire quelques fichiers Excel avec phpexcel, qui fonctionne bien jusqu'à présent. phpexcel est un peu trop intelligent, et supprime les zéros de mes cellules. Je suppose que je dois le dire pour traiter la cellule comme une chaîne de texte, pas comme général ou nombre. mais j'ai échoué. J'ai même trouvé des discussions sur stackoverflow à ce sujet, mais les solutions suggérées ne fonctionneraient tout simplement pas.formats de cellules dans phpexcel
ci-dessous est un extrait des slideshows sur lesquels je travaille.
foreach(@$objWorksheet->getRowIterator() as $row){
$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(false);
foreach($cellIterator as $cell){
#$objWorksheet->getStyle($cell->getCoordinate())->getNumberFormat()->setFormatCode('@');
$cells[] = $cell->getValue();
}
}
une idée? Je ne veux pas me limiter à lire uniquement du contenu numérique, car je n'ai aucun contrôle sur ce que les utilisateurs vont télécharger. traiter tout comme des chaînes serait parfait.
/Peder
merci, toutes les bonnes choses. mais - appliqué cela et essayé d'analyser un fichier csv, mais il semble que toutes mes cellules sont formatées comme "général". le fichier ressemble à ceci: http://dl.dropbox.com/u/252696/csv.csv est-ce une limitation du format csv, et si c'est le cas - ne serait-il pas mieux si phpexcel vient de renvoyer le contenu des cellules ? – fjallstrom
Si PHPExcel renvoyait simplement les "chaînes", il aurait perdu toute sa capacité à traiter les données des feuilles de calcul Excel.Si vous essayez simplement de lire un fichier CSV dans un tableau, votre meilleure option est les fonctions de gestion de csv intégrées à PHP, comme fgetcsv() –
Si vous voulez que PHPExcel traite les entrées du fichier CSV comme des chaînes plutôt que des nombres, alors vous pouvez écrire un "filtre de lecture" simple qui garantit que toutes les entrées du fichier sont traitées comme des chaînes. –