Phpexcel est une bibliothèque de classe de génération de documents MS Office très puissante. Lorsqu'il est nécessaire de produire des données de format relativement complexes, PhPEXCEL est un bon choix. Cependant, son utilisation est relativement compliquée. Listez-le pour l'enregistrer.
La copie de code est la suivante:
<?
// Définissez le chemin d'inclusion de la bibliothèque de classe Phpexcel
set_include_path ('.'. Path_separator.
'D: / zeal / php_libs'. Path_separator.
get_include_path ());
/ **
* Ce qui suit est un exemple d'utilisation. Pour les lignes commençant par ////, il existe différentes méthodes facultatives. Veuillez les utiliser en fonction des besoins réels.
* Ouvrez le commentaire sur la ligne correspondante.
* Si vous utilisez Excel5, la sortie doit être codée par GBK.
* /
require_once 'phpexcel.php';
// Unquaire
//// require_once 'phPEXCEL / writer / excel5.php'; // utilisé pour d'autres versions inférieures de XLS
// ou
//// require_once 'phPexcel / writer / excel2007.php'; // pour le format Excel-2007
// Créer une instance d'objet de traitement
$ objExcel = new Phpexcel ();
// Créer un format de fichier pour écrire l'instance d'objet, non
//// $ objwriter = new Phpexcel_writer_excel5 ($ objExcel); // utilisé pour d'autres formats de version
// ou
//// $ objwriter = new Phpexcel_writer_excel2007 ($ objExcel); // pour le format 2007
// $ ObjWriter-> SETOFFICE2003CAPATIBILITÉ (true);
// ***************************************************************
// Définir les propriétés du document de base
$ objprops = $ objExcel-> getProperties ();
$ objprops-> setCreator ("Zeal li");
$ objprops-> setLastModifiedBy ("Zeal li");
$ Objprops-> SettItle ("Document de test Office XLS");
$ objprops-> setSubject ("Document de test Office XLS, démo");
$ objprops-> setDescription ("Document de test, généré par phPExcel.");
$ objprops-> setKeywords ("Office Excel Phpexcel");
$ objprops-> setCategory ("test");
// ***************************************************************
// Définissez l'indice de feuille actuel pour les opérations de contenu ultérieures.
// Généralement, l'appel n'est nécessaire que lorsque plusieurs feuilles sont utilisées.
// Par défaut, Phpexcel créera automatiquement la première feuille et définira le feuille de feuille = 0
$ objExcel-> setActivesheetIndex (0);
$ objActSheet = $ objExcel-> getActivSheet ();
// définit le nom de la feuille active actuelle
$ ObjacTSheet-> Setttitle ('Test Sheet');
// ***************************************************************
// définir le contenu cellulaire
//
// PhPEXCEL détermine automatiquement le type de contenu cellulaire en fonction du contenu entrant
$ objActSheet-> setCellValue ('A1', 'String Content'); // Contenu de chaîne
$ objActSheet-> setCellValue ('A2', 26); // Valeur
$ objActSheet-> setCellValue ('A3', true); // valeur booléenne
$ objActSheet-> setCellValue ('a4', '= sum (a2: a2)'); // formule
// Explicatoire Spécifiez le type de contenu
$ ObjacTsheet-> SetCellValueExplicit ('A5', '847475847857487584',
Phpexcel_cell_datatype :: type_string);
// fusionner les cellules
$ objActSheet-> Mergecells ('B1: C22');
// Séparez les cellules
$ objActSheet-> Ungegecells ('B1: C22');
// ***************************************************************
// définir le style cellulaire
//
// définir la largeur
$ objActSheet-> getColumndimension ('b') -> setAutoSize (true);
$ objActSheet-> getColumnDimension ('a') -> SetWidth (30);
$ objStylea5 = $ objActSheet-> getStyle ('a5');
// Définissez le format numérique du contenu cellulaire.
//
// Si phpexcel_writer_excel5 est utilisé pour générer du contenu,
// Notez ici que la variable constée définie dans la classe phPEXCEL_STYLE_NUMBERFORMAT
// parmi diverses méthodes de formatage personnalisées, d'autres types peuvent être utilisés normalement, mais lorsque SetFormatcode
// Lorsqu'il est format_number, l'effet réel n'est pas défini sur "0". besoin
// Modifiez la méthode getxf ($ style) dans le code source de la classe phpexcel_writer_excel5_format,
// en ajouter un avant if ($ this -> _ biff_version == 0x0500) {(près de la ligne 363)
// Code de ligne:
// if ($ ifmt === '0') $ ifmt = 1;
//
// Définissez le format sur phpexcel_style_numberformat :: format_number pour éviter certains grands nombres
// Il est affiché à l'aide de la méthode de comptage scientifique. En conjonction avec la méthode SetAutosize suivante, le contenu de chaque ligne peut être fabriqué
// Tous sont affichés en fonction du contenu d'origine.
$ objstylea5
-> getNumberFormat ()
-> setFormatCode (phPEXCEL_STYLE_NUMBERFormat :: format_number);
// régler la police
$ objfonta5 = $ objstylea5-> getFont ();
$ objfonta5-> setName ('Courier New');
$ objfonta5-> setSize (10);
$ objfonta5-> setbold (true);
$ objfonta5-> setunderline (phPEXCEL_STYLE_FONT :: Underline_single);
$ objfonta5-> getColor () -> setargb ('ff9999999');
// définir l'alignement
$ objaligna5 = $ objstylea5-> getAlignment ();
$ objaligna5-> sethorizontal (phPEXCEL_STYLE_ALIGNMENT :: horizontal_right);
$ objaligna5-> Setvertical (phPEXCEL_STYLE_ALIGNMENT :: VERTICAL_CENTER);
// Définir la bordure
$ objborDera5 = $ objstylea5-> getBorders ();
$ objborDera5-> getTop () -> SetBordersTyle (phPEXCEL_STYLE_BORDER :: border_thin);
$ objborDera5-> getTop () -> getColor () -> setargb ('ffff0000'); // couleur
$ objborDera5-> getBottom () -> SetBorderstyle (phPEXCEL_STYLE_BORDER :: border_thin);
$ objborDera5-> getleft () -> setBorderstyle (phPEXCEL_STYLE_BORDER :: border_thin);
$ objborDera5-> getRight () -> setBorderstyle (phPEXCEL_STYLE_BORDER :: border_thin);
// définir la couleur de remplissage
$ objfilla5 = $ objstylea5-> getFill ();
$ objfilla5-> setFillType (phPEXCEL_STYLE_FILL :: fill_solid);
$ objfilla5-> getStartColor () -> setargb ('ffeeeee');
// Copier les informations de style à partir de la cellule spécifiée.
$ ObjactSheet-> DuplicateSyle ($ Objstylea5, 'B1: C22');
// ***************************************************************
// Ajouter des photos
$ objDrawing = new Phpexcel_Worksheet_Drawing ();
$ objDrawing-> setName ('Zealimg');
$ objDrawing-> SetDescription ('Image insérée par Zeal');
$ objDrawing-> SetPath ('./ Zeali.net.logo.gif');
$ objDrawing-> Setheight (36);
$ objDrawing-> setCoOrdinetes ('C23');
$ objDrawing-> Conseffsetx (10);
$ objDrawing-> SetRotation (15);
$ objDrawing-> getShadow () -> setVisible (true);
$ objDrawing-> getShadow () -> setDirection (36);
$ objDrawing-> setworksheet ($ objActSheet);
// Ajouter une nouvelle feuille de calcul
$ objExcel-> createSheet ();
$ objExcel-> getSheet (1) -> SettItle ('test 2');
// Protégez la cellule
$ objExcel-> getSheet (1) -> getProtection () -> SetSheet (true);
$ objExcel-> getSheet (1) -> Protectcells ('a1: c22', 'phPExcel');
// ***************************************************************
// Sortie de contenu
//
$ outputFileName = "output.xls";
// pour fichier
//// $ objWriter-> SAVE ($ OutputFileName);
//ou
// au navigateur
//// En-tête ("Content-Type: Application / Force-Download");
//// En-tête ("Content-Type: Application / Octet-Stream");
//// En-tête ("Content-Type: Application / Download");
////header('Content-Disposition:inline ;filename="'.$outputFileName. '"');
//// En-tête ("Content-Transfer-Encoding: Binary");
//// En-tête ("Expire: lun, 26 juillet 1997 05:00:00 GMT");
//// En-tête ("Last-Modified:". gmdate ("d, d myh: i: s"). "gmt");
//// En-tête ("Cache-Control: Must-Revalidate, post-Check = 0, pré-Check = 0");
//// en-tête ("Pragma: sans cache");
//// $ objWriter-> Save ('php: // output');
?>