gpt4 book ai didi

PHPExcel 使用公式有条件地格式化范围

转载 作者:行者123 更新时间:2023-12-04 21:34:42 30 4
gpt4 key购买 nike

我有以下代码:

$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 > A3

它还没有工作。有谁知道如何做到这一点?

最佳答案

相当晚的回应,但我一直在通过互联网寻找类似的问题。最终我解决了。万一人们将来可能会遇到这个问题,我会记下一些事情。

我一直在努力解决同样的问题,我设法解决了它。您想要的是在条件格式中插入公式。这听起来比实际上更棘手。

对于您的特定代码,这很可能会起作用。

$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);
}
}

“condition_expression”用于将公式放入条件格式中。据我所知,实现公式的唯一方法是使用“setConditions”。有了这个,你可以给出一个字符串数组,每个字符串都是一个公式。
在您的代码中,当第一个坐标大于第二个坐标时,这将导致红色。

现在回到你的代码,我还没有测试它,所以你可能想调整一些值,但这至少应该把你推向正确的方向。祝你好运!

关于PHPExcel 使用公式有条件地格式化范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42071563/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com