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

时间:2017-01-16 10:24:41

标签: php phpexcel

现在我希望将phpexcel中的单元格的文本颜色设置为foreach循环。 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 ...在这种情况下是否可以设置文字?请帮忙!

1 个答案:

答案 0 :(得分:3)

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

getStyle()要求细胞参考(例如A1C3IV256)或细胞范围(例如A1:C3B2:D4A2:IV256等。

你只是连接两个数字,例如05提供05,这在单元格引用/范围方面毫无意义

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

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

另请注意,您正在使用后增量运算符增加列尝试设置单元格的样式,因此它可能不会为您提供单元格引用想