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

在PHPExcel中设置字体颜色、字体和字体大小,php,class,phpexcel,Php,Class,Phpexcel,我在PHPExcel工作。我是初学者。当我使用下面的代码时,它工作得很好 $phpExcel = new PHPExcel(); $phpExcel->getActiveSheet()->getStyle("A1")->getFont()->setBold(true) ->setName('Verdana') ->setSize(1

我在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 );
请帮助我在上面的代码中我做错了什么


提前谢谢你

我建议您开始阅读(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);
要应用字体样式完成excel文档,请执行以下操作:

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

PHPExcel不再维护,并由PHPSReadSheet替换

首先阅读文档并使用applyFromArray()应用样式,然后阅读PHPSReadSheet的文档:

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

文档可以找到

我已经浏览了文档,在任何地方都找不到单元格的样式选项列表。你知道从哪里可以得到这些吗?在文档中有一个附录A:style
applyFromArray()
的有效数组键,你可以在这里找到所有的键。这就是您想要的吗?谢谢,是的,这就是我的意思:)关于使用数组提高速度:“无论何时设置多个样式属性,使用数组的这种替代方法的执行速度应该更快。但是,除非工作簿中有许多不同的样式,否则这种差异可能很难衡量。”+1.提及附录。这不会赢得最佳组织文档奖,但话说回来,至少它有很多好的文档。比我为我的项目付出的更多…:(