【问题标题】:How to set color for cell phpexcel into foreach loop如何将单元格phpexcel的颜色设置为foreach循环
【发布时间】:2017-01-16 10:24:41
【问题描述】:

现在我想将 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...在这种情况下有没有办法设置文本?请帮忙!

【问题讨论】:

    标签: php phpexcel


    【解决方案1】:

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

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

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

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

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

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

    【讨论】:

    • 我知道$count . $row 不完全是,但我不知道如何导致这个问题。如何准确设置 getStyle() 的值?我想在phpexcel列中设置0A1B
    • 你可以使用PHPExcel_Cell::stringFromColumnIndex()获取列地址,如我的回答所示
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-10
    • 2019-09-06
    • 2012-01-03
    • 2016-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多