PhpSpreadsheet将单元格的背景色设置为白色

时间:2019-03-06 03:46:15

标签: phpspreadsheet

使用phpspreadsheet,我要将白色背景设置为excel单元格。

$cells='A1';
$spreadsheet->getActiveSheet()->getStyle($cells)->getFill()- 
>setFillType(\PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID)- 
>getStartColor(' #FFFFFF')->setARGB('#FFFFFF');

即使我将白色rgb值设置为#FFFFFF,此代码也会使单元格背景变黑。

我想要的结果,

BEFORE

AFTER

谢谢。

2 个答案:

答案 0 :(得分:4)

通过使用样式数组一次设置几种样式:

styleArray = array(
            'borders' => array(
                'outline' => array(
                    'borderStyle' => Border::BORDER_THICK,
                    'color' => array('argb' => '00000000'),
                ),
            ),
            'fill' => array(
                'fillType' => Fill::FILL_SOLID,
                'startColor' => array('argb' => 'FF4F81BD')
            )
        );
$spreadsheet->getActiveSheet()->applyFromArray($styleArray);

在某些示例中,我们找到“ fill”而不是“ fillType”。也许这取决于phpSpreadsheet的版本。另一个变体是“颜色”而不是“ startColor”。

答案 1 :(得分:0)

在phpspreadsheet中指定ARGB时,无需包含符号“#”。 这个可以将单元格背景设置为白色。

一个单元格一个单元格

$spreadsheet->getActiveSheet()->getStyle($cells)->getFill()->setFillType(\PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID)->getStartColor()->setARGB('ffffff');

单元格范围

$spreadsheet->getActiveSheet()->getStyle('A1:A5')->getFill()->setFillType(\PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID)->getStartColor()->setARGB('ffffff');