Lecture ecriture de fichiers Excel en PHP
<?php require_once($_SERVER[DOCUMENT_ROOT]."/monchemin/class/PHPExcel.php"); require_once($_SERVER[DOCUMENT_ROOT]."/monchemin/class/PHPExcel/IOFactory.php"); $modele = $_SERVER[DOCUMENT_ROOT]."/monchemin//modele/excel_modele.xls"; $excelReader = PHPExcel_IOFactory::load($modele); //charge le fichier excel $excelReader->setActiveSheetIndex(1); // sélection deuxième onglet (1) facultatif $excelReader->getActiveSheet()->SetCellValue("C2", "test"); // Mets "test" dans la cellule C2 // acces aux cellule en numérique pratique pour des boucles $excelReader->getActiveSheet()->setCellValueByColumnAndRow(1, 3, "test"); // Mets "test" dans la cellule B3 // mets une date MySQL dans la cellule C4 $bidon=faire_date($row["DATE"],$excelReader, "C4" ); // force le format texte pour afficher par exemple un code barre $excelReader->getActiveSheet()->setCellValueExplicit("F5", $row[GENCOD], PHPExcel_Cell_DataType::TYPE_STRING); // envoi le fichier excel au navigateur header("Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); header("Content-Disposition: attachment;filename=mon_nouveau_fichier.xls"); header("Cache-Control: max-age=0"); $objWriter = PHPExcel_IOFactory::createWriter($excelReader, "Excel5"); $objWriter->save("php://output"); // ou pour sauver dans un fichier sur le disque (sans les header) $objWriter->save("monfichier.xls"); function faire_date($dt,&$excelReader, $cel ){ $date1 = explode("-",$dt); $time1 = PHPExcel_Shared_Date::FormattedPHPToExcel($date1[0], $date1[1], $date1[2]); $excelReader->getActiveSheet()->getStyle($cel)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_DDMMYYYY); $excelReader->getActiveSheet()->SetCellValue($cel, $time1); } ?>
Microsoft excel affiche parfois des messages concernant l’intégrité ou la sécurité des fichiers produits. Préparer les modèles avec Libreoffice évite ce problème
quelques liens