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

Pre*_*tha 3 phpspreadsheet

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

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

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

我想要的结果

之前

后

提前致谢。

Pre*_*tha 9

在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');
Run Code Online (Sandbox Code Playgroud)


小智 6

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

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);
Run Code Online (Sandbox Code Playgroud)

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

  • 最后一行似乎缺少 getStyle() 。对我来说它一直是: $spreadtsheet->getActiveSheet->getStyle($cellOrRange)->applyFromArray($styleArray); (2认同)