Il existe deux options principales, la première est PHPExcelReader et l'autre est PHPExcel.
PHPExcelReader est relativement léger et ne prend en charge que la lecture Excel. Il s'agit en fait d'un lecteur. Mais malheureusement, il ne prend pas en charge le format Excel 2007 (.xlsx).
PHPExcel est relativement puissant et peut générer des données en mémoire dans des fichiers Excel. Il peut également effectuer diverses opérations sur Excel. Ce qui suit présente principalement comment utiliser PHPExcel pour lire des fichiers au format Excel 2007 (.xlsx). (Apprentissage recommandé : Tutoriel vidéo PHP)
Téléchargez PHPExcel et enregistrez-le dans votre propre répertoire de fichiers de classe, puis utilisez le code suivant pour ouvrir le fichier au format Excel 2007 (xlsx) :
require_once '/libs/PHPExcel-1.8.0/Classes/PHPExcel.php'; //修改为自己的目录 echo '<p>TEST PHPExcel 1.8.0: read xlsx file</p>'; $objReader = PHPExcel_IOFactory::createReaderForFile($filename); $objPHPExcel = $objReader->load($filename); $objPHPExcel->setActiveSheetIndex(1); $date = $objPHPExcel->getActiveSheet()->getCell('A16')->getValue();
Vous pouvez voir le contenu du fichier en sortant la variable $date. PHPExcel utilise la classe PHPExcel_IOFactory pour correspondre automatiquement au type de fichier téléchargé. Bien entendu, nous pouvons également spécifier nous-mêmes le type de fichier à analyser. Chargez ensuite le fichier PHP dans l'objet objPHPExcel via la méthode de chargement.
Si le fichier Excel comporte plusieurs feuilles, vous pouvez définir la feuille actuellement active via setActiveSheetIndex.
Il est à noter que pour le format de date dans Excel, que PHPExcel lise un type de date, nous devons utiliser la méthode suivante pour convertir le type de date.
echo date("Y-m-d H:i:s",PHPExcel_Shared_Date::ExcelToPHP($date));
Le code suivant montre comment parcourir le contenu d'Excel :
<table id="table_id"> <?php $objWorksheet = $objPHPExcel->getActiveSheet(); $i = 0; foreach($objWorksheet->getRowIterator() as $row){ ?> <tr> <?php $cellIterator = $row->getCellIterator(); $cellIterator->setIterateOnlyExistingCells(false); if( $i == 0 ){ echo '<thead>'; } foreach($cellIterator as $cell){ echo '<td>' . $cell->getValue() . '</td>'; } if( $i == 0 ){ echo '</thead>'; } $i++; ?> </tr> <?php } ?> </table>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!