代码之家  ›  专栏  ›  技术社区  ›  Antony

phpspreadsheet中的三维范围引用

  •  1
  • Antony  · 技术社区  · 8 年前

    我有以下函数可以使用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的变更日志。是版本问题吗?我宁愿不用作曲家。

    0 回复  |  直到 7 年前
    推荐文章