IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Introduction à PHPExcel

Date de publication : 05/02/2009 , Date de mise à jour : 14/07/2010


Style par défaut
5.1. Dupliquer le style


Style par défaut

La classe PHPExcel_Worksheet nous offre une méthode qui permet d'appliquer un style à  tout le tableur par défaut.
Ce style défini par défaut pourra soit être complété, soit remplacé en fonction des besoins.

include 'MaitrePylosExcel.php';


$workbook = new MaitrePylosExcel();

$sheet = $workbook->getActiveSheet();

$sheet->getDefaultStyle()
->applyFromArray(array(
'font'=>array(
    'name'      =>  'Arial',
    'size'      =>  12,
    'bold'      => true),
'alignment'=>array(
    'horizontal'=>PHPExcel_Style_Alignment::HORIZONTAL_CENTER),
'borders' => array(
    'allborders'=>array(
    'style' => PHPExcel_Style_Border::BORDER_DASHDOT))
    )
);


$workbook->affiche('Excel2007','MonPremierFichier');
            
Par défaut donc mon tableur sera fixé comme suit :
La police Arial sera de taille 12 en gras.
Le contenu des cellules sera centré horizontalement.
Les cellules seront encadrées par des bordures.


5.1. Dupliquer le style

Dans la classe PHPExcel_Worksheet, nous avons une méthode qui nous permet de dupliquer le style appliqué à une cellule.

 $sheet->duplicateStyle($styleA1,'E5:F6');
                
Nous appliquons le style de la cellule A1 aux cellules E5-E6-F5-F6, et voici un petit code pour vérifier nos dires.


include 'MaitrePylosExcel.php';


$workbook = new MaitrePylosExcel();

$sheet = $workbook->getActiveSheet();

$styleA1 = $sheet->getStyle('A1');
$styleA1->applyFromArray(array(
    'font'=>array(
        'bold'=>true,
        'size'=>12,
        'name'=>Arial,
        'color'=>array(
            'rgb'=>'FF00FF00'))
    ));
$sheet->duplicateStyle($styleA1,'E5:F6');

$sheet->setCellValue('A1','MaitrePylos');

$sheet->setCellValue('E5','MaitrePylos');
$sheet->setCellValue('E6','MaitrePylos');
$sheet->setCellValue('F5','MaitrePylos');
$sheet->setCellValue('F6','MaitrePylos');


$workbook->affiche('Excel2007','MonPremierFichier');


                
Vous pouvez également propager directement un style vers un ensemble de cellules via la méthode duplicateStyleArray(),
dans le code suivant, nous allons appliquer un style aux cellules allant de A3 jusqu'à E3.

$sheet->duplicateStyleArray(
		array(
			'font'    => array(
				'bold'      => true
			),
			'alignment' => array(
				'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_RIGHT,
			),
			'borders' => array(
				'top'     => array(
 					'style' => PHPExcel_Style_Border::BORDER_THIN
 				)
			),
			'fill' => array(
	 			'type'       => PHPExcel_Style_Fill::FILL_GRADIENT_LINEAR,
	  			'rotation'   => 90,
	 			'startcolor' => array(
	 				'argb' => 'FFA0A0A0'
	 			),
	 			'endcolor'   => array(
	 				'argb' => 'FFFFFFFF'
	 			)
	 		)
		),
		'A3:E3'
);
                
 

Valid XHTML 1.0 TransitionalValid CSS!

Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à  l'obtention préalable de l'autorisation de l'auteur.