PHP · 05/14/2019 0

PHPExcel出现 Formula Error的解决方案

今天使用PHPEXCEL导出excel报错:

[ error ] 1000:Error:汇总!B1370 -> Formula Error: An unexpected error occured
所在文件:vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell.php

从错误日志可以看出,在单元格B1370处出现了Formula Error,公式错误。查看数据也可以得知,导出的数据是以“=”开头的,所以测试把等于号去除,去除后一切正常,则可知是把“=”开头的作为公式进行了解析。所以解决方案:

  1. 去除“=”
  2. 在导出单元的内容首部添加“'”(英文的半角单引号)即可。

可使用代码:

//第一种
if (0 === strpos($value, '=')) {
    $value = ltrim($value, '=');
}
//第二种
if (0 === strpos($value, '=')) {
    $value = "'" . $value;
}