PHPExcel仅在打开Excel文件后计算值

时间:2016-04-06 11:11:28

标签: php excel phpexcel

对于可能存在的问题的任何见解将不胜感激。

举一个简单的例子:

$objReader = PHPExcel_IOFactory::createReader('Excel2007');
   $objReader->setLoadAllSheets();
$objPHPExcel = $objReader->load($directory);
   $objPHPExcel->setActiveSheetIndex(0);
   $age = $objPHPExcel->getActiveSheet()->getCell('C4')->getFormattedValue();
$objPHPExcel->setActiveSheetByName('SheetName');
   $num1 =$objPHPExcel->getActiveSheet()->getCell('D5')->getOldCalculatedValue();
   $num2 =$objPHPExcel->getActiveSheet()->getCell('D6')->getOldCalculatedValue();

年龄= 40的值是正确的。但是num1的值= 0& num2 = 0.

当我打开excel文件时,保存并重新加载页面值num1 = 25& num2 = 0.52这是正确的。

我尝试将getOldCalculatedValue()更改为getCalculatedValue(),但页面未加载。

1 个答案:

答案 0 :(得分:0)

解决了这个昨天只记得要回答这个问题。

这是因为PHP无法读取有错误的单元格值。

Ms Error阻止PHPExcel读取单元格值的能力 - > getCalculatedValue()= Error,getOldCalculatedValue()= 0,getFormattedValue()=“计算错误 - > CELLVAL - > CELLVAL-- >”中。

要解决此问题,请禁用工作簿上的所有错误。

Excel - >首选项 - >错误检查 - >禁用复选框“启用后台错误检查”和规则。

保存您的文件并在此基础上工作。