PHPExcel多个工作表公式返回PHPExcel_Calculation_Exception

时间:2017-11-27 21:55:17

标签: php phpexcel

Goodevening,

我使用PHPExcel Library使用一些数据填充现有的Excel工作表,并在网页上显示计算值的结果。

我有几个看起来像这样的公式: =IF(OR($B$7=$A$17;$B$8=$A$17;$B$9=$A$17);"";B9)

=IF(B12<=B14;IF(B12=A17;A17;VLOOKUP(CEILING(B12;1);'Motor selection'!$1:$1048576;2;FALSE));A17)

当我尝试获取&#39; B9&#39;的计算值时出现以下错误:例如: Fatal error: Uncaught exception 'PHPExcel_Calculation_Exception' with message 'Pump selection!D7 -> Pump selection!B9 -> Formula Error: An unexpected error occured' in includes/PHPExcel/Classes/PHPExcel/Cell.php:291

我使用以下PHP代码,这是非常标准的。

$objType = PHPExcel_IOFactory::identify($file);
$objReader = PHPExcel_IOFactory::createReader($objType);

$objPHPExcel = $objReader->load($file);

// Populate values
$objPHPExcel->getActiveSheet()->setCellValue('B4', 100)
        ->setCellValue('B5', 75);

// Motor
$motor = $objPHPExcel->getActiveSheet()->getCell('B9')->getFormattedValue();

由于我不是Excel专家(客户给我发了这个),我不知道出了什么问题或如何解决这个问题。我所知道的是,当我在Excel中打开它时,工作表中的公式工作正常。

很想知道是否有人可以帮助我。如果有必要,我可以共享完整的Excel文件。

提前致谢,

凯文

编辑:我已经读过这些问题可能与公式中的美元符号有关,而且我已经尝试用\$转义它们,但这并不是似乎有所作为。

Edit2:找到文件here。想法是第一张纸的B4和B5填充了表格数据,结果将在D7:H7中。

0 个答案:

没有答案