如何将单元格phpexcel的颜色设置为foreach循环

How to set color for cell phpexcel into foreach loop

现在我想在 foreach 循环中为 phpexcel 中的单元格设置文本颜色。 foreach 循环类似于:

$redBold = array(
            "font" => array(
                "bold" => true,
                "color" => array("rgb" => "FF0000"),
            ),
        );
$row = 5;
$count = 0
foreach ($data as $key => $value) {
    $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($count++, $row, $value['type']?$value['type']:0);
    if ($value['type'] == 1) {
        $objPHPExcel->getActiveSheet()->getStyle($count . $row)->applyFromArray($redBold);
    }
}

这段代码不理解getStyle($count . $row )因为$count . $row应该是A6...在这种情况下有没有办法设置文本?请帮忙!

连接 $count . $row 会得到什么?

getStyle() 需要单元格引用(例如 A1C3IV256)或单元格范围(例如 A1:C3B2:D4A2:IV256

您只是简单地连接两个数字,例如05 给出 05 就单元格 references/ranges

而言毫无意义

您需要在连接之前将 $count(用作列索引)转换为实际的列地址

$objPHPExcel->getActiveSheet()->getStyle(PHPExcel_Cell::stringFromColumnIndex($count) . $row)->applyFromArray($redBold);

另请注意,在 尝试设置单元格样式之前,您使用 post-increment 运算符 增加了列,因此它可能不会给你你想要的单元格引用