1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
|
/**
* Classe étendue de PHPExcel.
* Cette classe permet la génération dynamique
* de fichier tableur suivant différent format.
*
* @copyright 2008 MaitrePylos Technologies (Formatux.be)
* @author Ernaelsten Gerard
* @license GPL
* @version Release: 0.1
*/
require 'PHPExcel.php';
class phpXl_MaitrePylosExcel extends PHPExcel {
public function __construct() {
parent::__construct();
}
/**
* Méthode englobant une fonction switch pour le choix du format de tableur.
* @method affiche
* @param String $format
* @param String $nomFichier
* @example $workbook->affiche('Excel2007','MonFichier');
*/
public function affiche($format = 'Excel5',$nomFichier = 'Tableur'){
switch($format){
case 'Excel2007' :
include 'PHPExcel/Writer/Excel2007.php';
$writer = new PHPExcel_Writer_Excel2007($this);
$ext = 'xlsx';
$header = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
//supprime le pré-calcul
$writer->setPreCalculateFormulas(false);
break;
case 'Excel2003' :
include 'PHPExcel/Writer/Excel2007.php';
$writer = new PHPExcel_Writer_Excel2007($this);
$writer->setOffice2003Compatibility(true);
$ext = 'xlsx';
$header = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
//supprime le pré-calcul
$writer->setPreCalculateFormulas(false);
break;
case 'Excel5' :
include 'PHPExcel/Writer/Excel5.php';
$writer = new PHPExcel_Writer_Excel5($this);
$ext = 'xls';
$header = 'application/vnd.ms-excel';
break;
case 'CSV' :
include 'PHPExcel/Writer/CSV.php';
$writer = new PHPExcel_Writer_CSV($this);
$writer->setDelimiter(",");//l'opérateur de séparation est la virgule
$writer->setSheetIndex(0);//Une seule feuille possible
$ext = 'csv';
$header = 'text/csv';
break;
case 'PDF' :
include 'PHPExcel/Writer/PDF.php';
$writer = new PHPExcel_Writer_PDF($this);
$writer->setSheetIndex(0);//Une seule feuille possible
$ext = 'pdf';
$header = 'application/pdf';
break;
case 'HTML' :
include 'PHPExcel/Writer/HTML.php';
$writer = new PHPExcel_Writer_HTML($this);
$writer->setSheetIndex(0);//Une seule feuille possible
$ext = 'html';
$header = 'text/html';
break;
}
header('Content-type:'.$header);
header('Content-Disposition:inline;filename='.$nomFichier.'.'.$ext);
$writer->save('php://output');
}
/**
* Méthode englobant une fonction switch pour le choix du format de tableur.
* @method enregistre
* @param String $format
* @param String $nomFichier
* @example $workbook->enregistre('Excel2007','MonFichier');
*/
public function enregistre($format = 'Excel5',$nomFichier = 'Tableur'){
switch($format){
case 'Excel2007' :
include 'PHPExcel/Writer/Excel2007.php';
$writer = new PHPExcel_Writer_Excel2007($this);
$ext = 'xlsx';
//supprime le pré-calcul
$writer->setPreCalculateFormulas(false);
break;
case 'Excel2003' :
include 'PHPExcel/Writer/Excel2007.php';
$writer = new PHPExcel_Writer_Excel2007($this);
$writer->setOffice2003Compatibility(true);
$ext = 'xlsx';
//supprime le pré-calcul
$writer->setPreCalculateFormulas(false);
break;
case 'Excel5' :
include 'PHPExcel/Writer/Excel5.php';
$writer = new PHPExcel_Writer_Excel5($this);
$ext = 'xls';
break;
case 'CSV' :
include 'PHPExcel/Writer/CSV.php';
$writer = new PHPExcel_Writer_CSV($this);
$writer->setDelimiter(",");//l'opérateur de séparation est la virgule
$writer->setSheetIndex(0);//Une seule feuille possible
$ext = 'csv';
break;
case 'PDF' :
include 'PHPExcel/Writer/PDF.php';
$writer = new PHPExcel_Writer_PDF($this);
$writer->setSheetIndex(0);//Une seule feuille possible
$ext = 'pdf';
break;
case 'HTML' :
include 'PHPExcel/Writer/HTML.php';
$writer = new PHPExcel_Writer_HTML($this);
$writer->setSheetIndex(0);//Une seule feuille possible
$ext = 'html';
break;
}
$writer->save($nomFichier.'.'.$ext);
}
} |