我有以下函数可以使用phpspreadsheet生成条件表达式:
public function conditionAequalsB($a,$b,$cell,$color = \PhpOffice\PhpSpreadsheet\Style\Color::COLOR_GREEN,$setBold = true){
$objConditional = new \PhpOffice\PhpSpreadsheet\Style\Conditional();
$objConditional->setConditionType(\PhpOffice\PhpSpreadsheet\Style\Conditional::CONDITION_EXPRESSION);
echo '='.$a.'='.$b.'<br>';
$objConditional->addCondition('='.$a.'='.$b);
$objConditional->getStyle()->getFont()->getColor()->setARGB($color);
$objConditional->getStyle()->getFont()->setBold($setBold);
$this->addConditions($cell,$objConditional);
}
public function conditionAnotequalsB($a,$b,$cell,$color = \PhpOffice\PhpSpreadsheet\Style\Color::COLOR_RED,$setBold = true){
$objConditional = new \PhpOffice\PhpSpreadsheet\Style\Conditional();
$objConditional->setConditionType(\PhpOffice\PhpSpreadsheet\Style\Conditional::CONDITION_EXPRESSION);
echo '='.$a.'<>'.$b.'<br>';
$objConditional->addCondition('='.$a.'<>'.$b);
$objConditional->getStyle()->getFont()->getColor()->setARGB($color);
$objConditional->getStyle()->getFont()->setBold($setBold);
$this->addConditions($cell,$objConditional);
}
然而,情况是这样的:
='Trial Balance'!D12='Trial Balance'!E12
='Trial Balance'!D12<>'Trial Balance'!E12
生成以下错误:
Balance Sheet!I10 -> 3D Range references are not yet supported
这在phpexcel中有效,但由于某些原因,在phpspreadsheet中似乎不起作用。我需要改变什么吗?
我没有使用作曲家版本,但根据日期为2018-01-28的变更日志。是版本问题吗?我宁愿不用作曲家。