Столбец условного формата phpspreadsheet A, если значение столбца B меньше 700

В настоящее время я экспортирую лист Excel, используя экспорт maatwebsite 3.1 в laravel 5.6. Я использую концепции phpspreadsheet для условного форматирования.


$conditional_fico = new \PhpOffice\PhpSpreadsheet\Style\Conditional();
$conditional_fico->setConditionType(\PhpOffice\PhpSpreadsheet\Style\Conditional::CONDITION_CELLIS)
->setOperatorType(\PhpOffice\PhpSpreadsheet\Style\Conditional::OPERATOR_LESSTHAN)
                            ->addCondition('700');
$conditional_fico->getStyle()->getFont()->getColor()->setARGB(\PhpOffice\PhpSpreadsheet\Style\Color::COLOR_RED);
$conditionalStyles = $event->sheet->getStyle('G:G')->getConditionalStyles();
$conditionalStyles[] = $conditional_fico;
$event->sheet->getStyle('G:G')->setConditionalStyles($conditionalStyles);

Теперь я хочу изменить цвет A: A, если соответствующий G: G меньше 700. Пример:

сделать A1 красным, если G1 ‹ 700; сделать A2 красным, если G2 ‹700 и т.д.

Пожалуйста, поделитесь соответствующим правилом условного форматирования


person Div    schedule 02.09.2020    source источник


Ответы (1)


Я понял,

  $styleArray = array(
            'font'  => array(
              //  'bold'  => true,
                'color' => array('rgb' => 'FF0000'),
            ));

   $highestRow = $event->sheet->getHighestRow();
   $highestColumn = $event->sheet->getHighestColumn(); 
   $highestColumnIndex = \PhpOffice\PhpSpreadsheet\Cell\Coordinate::columnIndexFromString($highestColumn); 
  for ($row = 3; $row <= $highestRow; ++$row) {
            $slaHours = $event->sheet->getCellByColumnAndRow(7, $row)->getValue();
            if( $slaHours < 700) {    
            $event->sheet->getCellByColumnAndRow(2, $row)->getStyle()->applyFromArray($styleArray);
       }
   }
person Div    schedule 02.09.2020