2019-03-29 17:04:21 1959次浏览 1条回答 0 悬赏 10 金钱
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);

最佳答案

    没有找到数据。
您需要登录后才可以回答。登录 | 立即注册
PHP学院的中学生
副总裁

PHP学院的中学生

注册时间:2018-10-23
最后登录:2024-09-23
在线时长:168小时13分
  • 粉丝29
  • 金钱4725
  • 威望30
  • 积分6705

热门问题