报此错,说明导入的文件某个单元格格式错误。

1.特殊字符

如,引号,等于号等,会导致Excel把等号后面的当成公式处理。

解决方案:判断是否包含,再加上单引号。

if(strpos($lists[$i-2]['nickname'],'=') === 0){

$lists[$i-2]['nickname'] = "'".$lists[$i-2]['nickname'];

}

2.导入excel,数据引用其他文件

就是导入excel中,某些数据就是引用了其他文件的数据链接,由于换了环境,此时要断开链接。

3.统一处理方案

有时候,报错但不知道包含了什么特殊字符,可在excel中用ctrl+F来查找。再强制转成字符串。如下:

用setCellValueExplicit()把所有的输出到Excel表格的数据强制转为字符串。