Fatal error: Uncaught exception ‘PHPExcel_Exception’ with message ‘excel!J97 -> Formula Error: An unexpected error occured’ in xxx\PHPExcel\Cell.php on line 307
可以看到是在处理J97这个单元格的时候出现了“算式错误”
于是先从数据库中定位出错的单元格,发现是一个以“=”开头的字符串
在excel中一个单元格如果是以“=”开头,则说明这个单元格是根据其他单元格的值算出来的,“=”后面必须跟着一个合法的表达式
而那个字符串是用户的输入,很明显不应该是一个合法的表达式,所以应该在代码中过滤掉
方法很简单,在“=”前面加一个半角的单引号就可以了,所以修改后的代码如下:
if(strpos($value,'=') === 0){
$value = "'".$value;
}
$objPHPExcel->setActiveSheetIndex(0)->setCellValueByColumnAndRow($x,$y, $value);
本文解决了一个出现在PHPExcel库中的Excel公式错误问题,该错误源于不正确的用户输入。通过在有问题的字符串前添加单引号的方式解决了这个问题。
8113

被折叠的 条评论
为什么被折叠?



