mercredi 26 novembre 2014
PHP : API pour générer un fichier EXCEL
Comment générer un fichier EXCEL en PHP ?
En utilisant PHPExcel.
A noter que cette API supporte la génération de fichiers XLSX.
Dans un premier temps vous téléchargez cette API (ZIP).
Ensuite vous copiez le répertoire <Classes> dans votre projet PHP.
Comment utiliser cette API ?
Voici un exemple d'utilisation qui va générer un fichier XLXS :
// ne pas oublier d'inclure les classes concernées
include "Classes/PHPExcel.php";
include "Classes/PHPExcel/Writer/Excel2007.php";
// création de mon classeur
$objPHPExcel = new PHPExcel();
$objPHPExcel->getProperties()->setCreator("moi");
$objPHPExcel->getProperties()->setLastModifiedBy("moi");
$objPHPExcel->getProperties()->setTitle("Office 2007 XLSX monfichier");
$objPHPExcel->getProperties()->setSubject("Office 2007 XLSX monfichier");
// premier onglet activé
$objPHPExcel->setActiveSheetIndex(0);
// titre du document
$i = 1;
$objPHPExcel->getDefaultStyle()->getFont()->setName('Tahoma');
$objPHPExcel->getDefaultStyle()->getFont()->setSize(12);
$objPHPExcel->getDefaultStyle()->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->SetCellValue('A' . $i, "mon titre");
$objPHPExcel->getActiveSheet()->getStyle('A' . $i)->getFont()->getColor() ->setARGB(PHPExcel_Style_Color::COLOR_BLUE);
// entête
$i = 3;
$objPHPExcel->getDefaultStyle()->getFont()->setName('Tahoma');
$objPHPExcel->getDefaultStyle()->getFont()->setSize(10);
$objPHPExcel->getDefaultStyle()->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->getDefaultColumnDimension()->setWidth(25);
$objPHPExcel->getActiveSheet()->SetCellValue('A' . $i, utf8_encode('colonne 1 : actualité'));
$objPHPExcel->getActiveSheet()->SetCellValue('B' . $i, 'colonne 2');
$objPHPExcel->getActiveSheet()->SetCellValue('C' . $i, 'colonne 3');
etc ...
// contenu
$i++;
$objPHPExcel->getDefaultStyle()->getFont()->setName('Tahoma');
$objPHPExcel->getDefaultStyle()->getFont()->setSize(10);
$objPHPExcel->getDefaultStyle()->getFont()->setBold(false);
$objPHPExcel->getActiveSheet()->SetCellValue('A' . $i, "contenu 1");
$objPHPExcel->getActiveSheet()->SetCellValue('B' . $i, "contenu 2");
$objPHPExcel->getActiveSheet()->SetCellValue('C' . $i, "contenu 3");
etc...
// nom de l'onglet
$objPHPExcel->getActiveSheet()->setTitle('onglet 1');
// sauver fichier
$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
$file = "monfichier.xlsx";
$objWriter->save($file);
Pour plus d'informations sur toutes les options (et elles sont nombreuses), veuillez consulter la documentation.
Inscription à :
Publier les commentaires (Atom)
Aucun commentaire:
Enregistrer un commentaire