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