如何在 PHPSpreadsheet 中更改单元格颜色

Posted

技术标签:

【中文标题】如何在 PHPSpreadsheet 中更改单元格颜色【英文标题】:How to change cell color in PHPSpreadsheet 【发布时间】:2018-07-20 14:58:39 【问题描述】:

您能否使用 phpspreadsheet 更改 .xlsx 文件中单元格的颜色?在他们的函数列表或 Stack Overflow 上找不到任何东西。

【问题讨论】:

也许你应该阅读docs 尤其是关于样式的部分 谢谢你,我应该仔细看看。 【参考方案1】:

尝试查看此链接 Here

$spreadsheet->getActiveSheet()->getStyle('B2')
->getFont()->getColor()->setARGB(\PhpOffice\PhpSpreadsheet\Style\Color::COLOR_RED);

【讨论】:

它只是改变文本颜色。我想改变单元格的背景 @IrshadKhan 请检查我上面的答案【参考方案2】:

对于那些将“更改单元格颜色”理解为背景颜色而不是文本颜色的人,正确的代码是:

$spreadsheet->getActiveSheet()->getStyle('[YOUR_CELL_OR_RANGE_HERE]')->getFill()
    ->setFillType(\PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID)
    ->getStartColor()->setARGB('YOUR_COLOR_CODE_HERE');

例子:

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

【讨论】:

【参考方案3】:

试着看这个link

$spreadsheet->getActiveSheet()->getStyle('B2')->getFont()->setColor(
    new \PhpOffice\PhpSpreadsheet\Style\Color(\PhpOffice\PhpSpreadsheet\Style\Color::COLOR_RED)
);

【讨论】:

以上是关于如何在 PHPSpreadsheet 中更改单元格颜色的主要内容,如果未能解决你的问题,请参考以下文章

phpoffice/phpspreadsheet - 如何从 getHighestRow() 中排除无值单元格

PHPOffice/PhpSpreadsheet 获取单元格列索引为整数

详解PhpSpreadsheet设置单元格

PhpSpreadsheet - 在不迭代每个单元格的情况下获取行

phpspreadsheet中的动态单元格合并

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