在PHPExcel中设置字体颜色,字体和字体大小

时间:2013-06-26 10:13:11

标签: php class 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 );

请帮助我在上面的代码中做错了什么。

提前谢谢!

2 个答案:

答案 0 :(得分:111)

我建议你开始阅读the documentation(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);

答案 1 :(得分:1)

PHPExcel 不再维护,由 phpspreadsheet 代替。

先阅读文档,使用applyFromArray()应用样式,阅读phpspreadsheet的文档:

$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$styleArray = [
        'font' => [
            'bold'  =>  true,
            'size'  =>  14,
            'name'  =>  'Arial'
        ],
        'alignment' => [
            'horizontal' => Alignment::HORIZONTAL_CENTER,
            'vertical' => Alignment::VERTICAL_CENTER
        ],
        'borders' => [
            'allBorders' => [
                'borderStyle' => Border::BORDER_THIN,
                'color' => ['rgb' => '000000']
            ]
        ]
    ];
    $sheet->getStyle('A1')->applyFromArray($styleArray);

文档可以在Here