1
该问题始于一个非常复杂的工作表,但我将其简化为一个非常简单但仍具有相同问题的工作表。PHPEXCEL公式计算问题
PHPExcel不计算公式,但如果我改变为一个简单的公式(=B3
)它的工作原理。 GetValue返回()
的公式是
=IF(B3="","",IF(C8="N",IF(ISERR(VALUE(B3)),0,VALUE(B3)),T(B3)))
我的代码。
require_once dirname(__FILE__) . '/../phpxl/Classes/PHPExcel.php';
set_include_path(get_include_path() . PATH_SEPARATOR . '/../phpxl/Classes/');
$template = "test.xlsx";
$objReader = PHPExcel_IOFactory::createReader('Excel2007');
$objPHPExcel = $objReader->load($template);
$objPHPExcel->getActiveSheet()->getCell('B3')->setValue(8);
$result = $objPHPExcel->getActiveSheet()->getCell('B8')->getCalculatedValue();
$result1 = $objPHPExcel->getActiveSheet()->getCell('B8')->getValue();
echo $result.'<br>';
echo $result1.'<br>';
我在B3单元格中设置了8的值,在Excel中这样做会计算出B8处的相同值。
C8有'N'。
但随着phpexcel我总是能得到它被保存(2.1)
响应值:在Excel中更换 2.1 =IF(B3="","",IF(C8="N",IF(ISERR(VALUE(B3)),0,VALUE(B3)),T(B3)))
在B8文件的公式为 '= B3' 它完美显示结果'8'。
响应: =B3
所以,我一定会认为是公式的一个问题。
函数非常简单IF,T,VALUE,ISERR。
更改所有双引号,问题仍然存在。
=IF(ISBLANK(B3),NA(),IF(C8="N",IF(ISERR(VALUE(B3)),0,VALUE(B3)),T(B3)))
任何想法得到解决方法,这将是值得欢迎的。
韩国社交协会