web-dev-qa-db-ja.com

PHPExcelでフォントの色、フォントフェイス、フォントサイズを設定する

私はPHPExcelで働いています。私は初心者です。次のコードを使用していて、うまく機能しているとき。

$phpExcel = new PHPExcel();

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

しかし、次のコードを使用していて、上記のように期待される結果が得られない場合。

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

上記のコードで私が間違っていることを助けてください。

前もって感謝します!

48
som

ドキュメント (4.6.18。セルのフォーマット)を読み始めることをお勧めします。多くの書式設定を適用する場合は、applyFromArray()を使用することをお勧めします。ドキュメントによると、このメソッドは、多くのスタイルプロパティを設定するときに高速になると考えられています。この機能に使用可能なすべてのキーを見つけることができる別館があります。

これはあなたのために働くでしょう:

$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