PHPExcel出现Formula Error的解决方案
程序员文章站
2024-02-10 13:35:10
...
今天有用户反馈导出excel出现错误,于是看了下错误日志,发现如下报错: 未经允许严禁转载 Fatal error: Uncaught exception PHPExcel_Exception with message excel!J97 - Formula Error: An unexpected error occured in ?xxx\PHPExcel\Cell.php on line 3
今天有用户反馈导出excel出现错误,于是看了下错误日志,发现如下报错:
未经允许严禁转载
Fatal error: Uncaught exception ‘PHPExcel_Exception’ with message ‘excel!J97 -> Formula Error: An unexpected error occured’ in ?xxx\PHPExcel\Cell.php on line 307本文来自leo108's blog
可以看到是在处理J97这个单元格的时候出现了“算式错误”
PHPExcel出现Formula Error的解决方案
于是先从数据库中定位出错的单元格,发现是一个以“=”开头的字符串采集者烂JJ
在excel中一个单元格如果是以“=”开头,则说明这个单元格是根据其他单元格的值算出来的,“=”后面必须跟着一个合法的表达式
未经允许严禁转载
而那个字符串是用户的输入,很明显不应该是一个合法的表达式,所以应该在代码中过滤掉本文来自http://leo108.com
方法很简单,在“=”前面加一个半角的单引号就可以了,所以修改后的代码如下:PHP
if(strpos($value,'=') === 0){ $value = "'".$value; } $objPHPExcel->setActiveSheetIndex(0)->setCellValueByColumnAndRow($x,$y, $value);
PHPExcel
推荐阅读
-
PHPExcel出现Formula Error的解决方案
-
Linux 5中出现的-bash: syntax error near unexpected token `('错误
-
json_encode数组出现unicode uxxxx的解决方案
-
Oracle 10g出现ORA-00600错误的解决方案
-
写php分页时出现的Fatal error的解决方法
-
Oracle 10g出现ORA-00600错误的解决方案
-
oracle中出现http://localhost:5560/isqlplus 打不开的解决方案
-
在PHP5.3以上版本运行ecshop和ecmall出现的问题及解决方案
-
PHP 的session 为什么未附值判断是否为空出现警告解决方案
-
php中使用Ajax时出现Error(c00ce56e)的详细解决方案,ajaxc00ce56e