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
'
);