【问题标题】:PHPExcel error when reading calculated value读取计算值时出现PHPExcel错误
【发布时间】:2017-05-03 06:47:04
【问题描述】:

我正在尝试阅读 Excel 工作表中的一个单元格。 当我使用函数 getCalculatedValue 时,它​​会抛出以下错误:

Financials!LU83 -> Financials!LU81 -> Formula Error: An unexpected error occured

我编写了以下函数来读取单元格

private function getCellValue($data)
{

        //example of data variable
        //$data = [0, 'G79'];

        $excel = $this->excel;
        $excel->setActiveSheetIndex($data[0]);
        \PHPExcel_Calculation::getInstance($excel)->flushInstance();
        \PHPExcel_Calculation::getInstance($excel)->clearCalculationCache();
        return $excel->getActiveSheet()->getCell($data[1])->getCalculatedValue();

    }

我尝试读取的单元格具有以下值

=LU83+LT84

其中 LU83 具有以下值

=LU73-SUM(LU76:LU81)

LU81有价值

=VLOOKUP(LU8,'智慧回归'!$O:$S,5,0)

我不知道为什么会收到此错误。我希望有一种调试方法?有什么办法吗?

感谢任何帮助。

谢谢

【问题讨论】:

标签: php excel phpexcel phpexcelreader


【解决方案1】:

问题在于 PHPExcel 的计算引擎不完全支持行或列范围。

=VLOOKUP(LU8,'Wiser Return'!$O:$S,5,0) 

包含列范围$O:$S

如果可以将其转换为单元格范围,例如

=VLOOKUP(LU8,'Wiser Return'!$O1:$S1024,5,0) 

那么它应该正确处理公式

【讨论】:

    【解决方案2】:

    我现在无法发表评论,但我找到了一些可能对您有所帮助的链接。

    在这个question 接受的答案状态中,您可以通过这个gist 获得有关错误的更多信息。

    (如果这对您有帮助,我建议删除您的问题。)

    【讨论】:

    • 好的,我会阅读那篇文章并在我的代码中尝试它,如果它解决了它,请删除这个主题谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-02
    • 2014-07-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多