用PHPExcel导出数据都是直接输出内容,运行一段时间没有出现什么问题。导出突然出现,导出的时候PHPExcel抛出异常: 用的laravel框架
C20 -> Formula Error: An unexpected error occured
通过错误提示信息可以看见, 是在C列20行,发生错误,肯定是20行数据有些特殊。
造成这种原因的是输出的内容中大多数开头以'=',造成PHPExcel解析的时候当成这个单元格的值是由其他单元格计算出来的,
后面需要跟着一个合法表达式。如果不是这样,应该在程序中过滤掉。
通过判断代码:
在含有等号的特殊字符前加上'
符号
if( $item && strpos($item,'=') === 0 ){ $item = "'".$item; }
$PHPExcel->getActiveSheet()->setCellValue($cellIndex.$num, $item);