首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >phpspreadsheet条件格式列A,如果B列的值小于700

phpspreadsheet条件格式列A,如果B列的值小于700
EN

Stack Overflow用户
提问于 2020-09-02 15:15:08
回答 1查看 502关注 0票数 1

目前,我正在使用laravel 5.6中的maatwebs3.1export导出一个excel表格。我正在使用phpspreadsheet概念进行条件格式化。

代码语言:javascript
运行
复制
$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。示例:

如果G1 <700,则将A1设置为红色;如果G2 <700,则将A2设置为红色,依此类推。

请共享对应的条件格式规则

EN

回答 1

Stack Overflow用户

发布于 2020-09-02 22:11:29

我想通了,

代码语言:javascript
运行
复制
  $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);
       }
   }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63700508

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档