web-dev-qa-db-fra.com

Définir la couleur, le visage et la taille de la police dans PHPExcel

Je travaille dans PHPExcel. Je suis débutant. Quand j'utilise le code suivant, il fonctionne bien.

$phpExcel = new PHPExcel();

$phpExcel->getActiveSheet()->getStyle("A1")->getFont()->setBold(true)
                                ->setName('Verdana')
                                ->setSize(10)
                                ->getColor()->setRGB('6F6F6F');

Mais quand j'utilise le code suivant et que je n'obtiens pas le résultat attendu, comme ci-dessus.

$phpFont = new PHPExcel_Style_Font();
$phpFont->setBold(true);
$phpFont->setName('Verdana');
$phpFont->setSize(15);

$phpColor = new PHPExcel_Style_Color();
$phpColor->setRGB('FF0000');  

$phpExcel->getActiveSheet()->getStyle('A1')->setFont( $phpFont );
$phpExcel->getActiveSheet()->getStyle('A1')->getFont()->setColor( $phpColor );

S'il vous plaît aidez-moi ce que je fais mal dans le code ci-dessus.

Merci d'avance!

48
som

Je vous recommande de commencer à lire la documentation (4.6.18. Formatage des cellules). Lorsque vous appliquez beaucoup de mise en forme, il est préférable d'utiliser applyFromArray() Selon la documentation, cette méthode est également supposée être plus rapide lorsque vous définissez de nombreuses propriétés de style. Il y a une annexe où vous pouvez trouver toutes les clés possibles pour cette fonction.

Cela fonctionnera pour vous:

$phpExcel = new PHPExcel();

$styleArray = array(
    'font'  => array(
        'bold'  => true,
        'color' => array('rgb' => 'FF0000'),
        'size'  => 15,
        'name'  => 'Verdana'
    ));

$phpExcel->getActiveSheet()->getCell('A1')->setValue('Some text');
$phpExcel->getActiveSheet()->getStyle('A1')->applyFromArray($styleArray);
113
Max