【问题标题】:PHPExcel Change Background color for each cell in foreach loopPHPExcel更改foreach循环中每个单元格的背景颜色
【发布时间】:2017-09-29 09:18:55
【问题描述】:

每个事件都有自己的背景颜色存储在数据库中。

问题如何更改该行的每个单元格的背景以确保具有正确的背景颜色。

我看过How to set color for cell phpexcel into foreach loop这里但不明白。

打印出来

A0 
B0 
C0 
D0 
A1 222222
B1 222222
C1 222222
D1 222222
A2 
B2 
C2 
D2 

功能

$excelrow = 2;

    foreach ($excelresults as $excelresult => $excelvalue) {


        foreach (range('A', $objPHPExcel->getActiveSheet()->getHighestDataColumn()) as $col) {

            echo $col . $excelresult .' '. $excelvalue['fill_color'] . '<br>';

            $cell = $col . $excelresult;

            $objPHPExcel
            ->getActiveSheet()
            ->getStyle($cell)
            ->getFill()
            ->getStartColor()
            ->getRGB($excelvalue['fill_color']);
        } 

        $objPHPExcel->getActiveSheet()->SetCellValue("A" . $excelrow, $excelvalue['event']);
        $objPHPExcel->getActiveSheet()->SetCellValue("B" . $excelrow, $excelvalue['event_title']);
        $objPHPExcel->getActiveSheet()->SetCellValue("C" . $excelrow, $excelvalue['event_date']);
        $objPHPExcel->getActiveSheet()->SetCellValue("D" . $excelrow, $excelvalue['event_start_time']);

        $excelrow++;
    }

【问题讨论】:

    标签: php phpexcel


    【解决方案1】:

    要为单元格设置背景色(填充),所以还得设置填充样式

    if (!empty($color)) {
        // Set the fill style
        objPHPExcel->getActiveSheet()->getStyle('A' . $excelrow . ':D' . $excelrow)
            ->getFill()
            ->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
        // Set the colour for the fill
        $objPHPExcel->getActiveSheet()->getStyle('A' . $excelrow . ':D' . $excelrow)
            ->getFill()
            ->getStartColor()->setRGB($color);
    }
    

    /Examples folder 中有一个演示,在documentation 中有描述

    【讨论】:

    • 这可行,但你也可以更改/设置字体颜色
    • 是的,您可以.... 有很多 documentationexamples 可用于设置所有样式元素,以及您可以使用库做的几乎所有事情
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-10
    • 1970-01-01
    • 1970-01-01
    • 2011-09-24
    相关资源
    最近更新 更多