我有以下代码:
$vOffset = 2;
$offset = 6;
$formatRows = 100;
$formatColumns = 100;
//set conditional formatting in place
for($row=$vOffset;$i<$formatRows;$row++){
for($col=$offset+1;$col<$formatColumns;$col+3){
//prepare conditional styles
//if verbal is bigger
$conditionalStyle_RED = new PHPExcel\Style_Conditional();
$conditionalStyle_RED->setConditionType(PHPExcel\Style_Conditional::CONDITION_CELLIS);
$conditionalStyle_RED->addCondition(
"=" . $this->coordinates($col, $row) . " > " . $this->coordinates($col+1,$row)
);
$conditionalStyle_RED->getStyle()->getFont()->getColor()->setARGB(PHPExcel\Style_Color::COLOR_RED);
array_push($conditionalStyles, $conditionalStyle_RED);
$this->getActiveSheet()
->getStyle($this->coordinates($col, $row) . ':' . $this->coordinates($col+1, $row))
->setConditionalStyles($conditionalStyles);
}
}
我尝试使用类似于以下公式设置条件样式:
= A1&gt; A3
它还没有工作。有谁知道如何做到这一点?
答案 0 :(得分:2)
相当迟到的反应,但我一直在通过互联网寻找类似的问题。最终我解决了它。如果将来人们遇到这个问题,我会记下一些事情。
我一直在努力解决同样的问题,我设法解决了这个问题。你想要的是在条件格式中插入一个公式。这听起来比实际上更棘手。
对于您的特定代码,这应该很有用。
$vOffset = 2;
$offset = 6;
$formatRows = 100;
$formatColumns = 100;
//set conditional formatting in place
for($row=$vOffset;$i<$formatRows;$row++){
for($col=$offset+1;$col<$formatColumns;$col+3){
//prepare conditional styles
//if verbal is bigger
$conditionalStyle_RED = new PHPExcel\Style_Conditional();
$conditionalStyle_RED->setConditionType(PHPExcel\Style_Conditional::CONDITION_EXPRESSION);
$conditionalStyle_RED->setConditions(array("(" . $this->coordinates($col, $row) . " > " . $this->coordinates($col+1,$row) . ")"));
$conditionalStyle_RED->getStyle()->getFont()->getColor()->setARGB(PHPExcel\Style_Color::COLOR_RED);
array_push($conditionalStyles, $conditionalStyle_RED);
$this->getActiveSheet()
->getStyle($this->coordinates($col, $row) . ':' . $this->coordinates($col+1, $row))
->setConditionalStyles($conditionalStyles);
}
}
&#34; condition_expression&#34;用于将公式放入条件格式中。据我所知,实现公式的唯一方法是使用&#34; setConditions&#34;。有了这个,你可以给出一个字符串数组,每个字符串都是一个公式。 在您的代码中,当第一个坐标大于第二个坐标时,这将导致红色。
现在回到你的代码,我还没有对它进行测试,所以你可能想要调整一些值,但这至少应该让你朝着正确的方向前进。祝你好运伴侣!