Tutoriel sur le formattage -- Comment formatter des cellules dans une feuille de calcul
Qu'est-ce qu'un format ?
Un format est un objet de type Spreadsheet_Excel_Writer_Format.
Ce format peut être appliqué à des cellules d'une feuille de calcul ; ces cellules
héritent des propriétés du format (alignement de texte, couleur d'arrière-plan,
couleur des bordures, etc.).
Utilisation
Les formats peuvent être créés directement par un nouvel appel.
Vous devez créer un format en utilisant la méthode addFormat() d'un manuel de travail,
en associant votre format à ce manuel de travail (vous pouvez utiliser ce format avec un
autre manuel de travail).
<?php
require_once 'Spreadsheet/Excel/Writer.php';
// Création d'un manuel de travail
$workbook = new Spreadsheet_Excel_Writer();
// Création du format
$format_bold =& $workbook->addFormat();
$format_bold->setBold();
?>
Ici, nous créons juste un format de mise en gras. Notez le signe ET commercial (&)
qui apparait lorsque nous créons notre format.
Faire quelque chose d'utile !
Nous avons juste créé notre premier format, mais nous ne l'avons pas utilisé.
Pas très élégant !
Admettons que vous voulez créer votre première feuille de calcul contenant des données.
A ce point, lorsque vous allez présenter votre superbe création à votre patron, ceci risque d'arriver :
<?php
require_once 'Spreadsheet/Excel/Writer.php';
$workbook = new Spreadsheet_Excel_Writer();
$format_bold =& $workbook->addFormat();
$format_bold->setBold();
// Nous avons besoin d'une feuille de travail dans laquelle nous allons placer nos données
$worksheet =& $workbook->addWorksheet();
// Ceci est notre titre
$worksheet->write(0, 0, "Bénéfices de Dotcom.Com", $format_bold);
// Et maintenant, les données
$worksheet->write(0, 0, 0);
?>
Ajoutons maintenant les couleurs de l'entreprise !
Si vous avez testé l'exemple précédent, vous avez pu noter que le titre
a besoin de plusieurs cellules afin d'être correctement affiché, mais le
format que nous avons appliqué ne l'est que pour la premier cellule.
Notre titre n'apparait donc pas de façon la plus jolie...
Que pouvons-nous faire pour résoudre cela ? Vous pouvez toujours dire
à votre patron que le titre vous parrait sympa tel que et qu'il devrait
consulter un ophtalmologiste. Ou vous pouvez utiliser la fusion de cellule
afin d'afficher correctement votre titre sur plusieurs cellules.
Pour cela, vous devez utiliser la méthode setAlign() avec 'merge' en tant qu'argument,
et de créer quelques cellules vides que votre titre pourra utiliser en tant qu'arrière plan
(il y aura une meilleure solution pour réaliser cela dans une future version de
Spreadsheet_Excel_Writer).