PHPExcel Как установить условное форматирование для изменения цвета фона ячейки на основе значений ячеек - PullRequest
0 голосов
/ 19 октября 2018

Доброе утро,

Мне нужно установить цвета фона ячеек с помощью PHPExcel, но я не знаю, как это сделать.

Это для моего заголовка, и оно работает:

$styleArray = array(
    'font' => array(
        'bold' => true,
    ),
    'alignment' => array(
        'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_LEFT,
    ),
    'borders' => array(
        'allborders' => array(
            'style' => PHPExcel_Style_Border::BORDER_THIN,
        )
    )
);

$objPHPExcel->getActiveSheet()->getStyle('A1:F1')->applyFromArray($styleArray);

Теперь я хотел бы установить цвета ячеек bg следующим образом:

Столбцы J: Q, если значение ячейки "ОК", цвет bg зеленый;если это «НЕТ», цвет bg красный.

Спасибо

1 Ответ

0 голосов
/ 19 октября 2018
function cellColor($col, $row){
    global $objPHPExcel;

    $cell = $col.$row;
    $cellValue = $objWorksheet->getCellByColumnAndRow($col, $row)->getValue();

    $color = 'ffffff';
    if($cellValue == 'ok')
       $color = 'ff0000';
    if($cellValue == 'no')
       $color = '30a30a';

    $objPHPExcel->getActiveSheet()->getStyle($cell)->getFill()->applyFromArray(array(
        'type' => PHPExcel_Style_Fill::FILL_SOLID,
        'startcolor' => array(
             'rgb' => $color
        )
    ));
}

Например, вы можете использовать так:

cellColor('B', '5');
...