1. 问题描述
一个项目中用到了需要将用户手机号导出到 Excel ,最初写完测试是正常的,如下图所示
在后来的某一天,导出手机号突然出现了报错,如下图所示
通过提示我们将问题定位在了 B 列 4867 行。
这是因为在 excel 中,单元格中的值如果是以 “=” 开头,则说明这个单元格是根据其他单元格的值算出来的,“=” 后面必须跟着一个合法的表达式。所以,解决方案就是这个单元格的值不让它以 “=” 开头
# Formula Error: An unexpected error occurred 公式错误:发生意外错误
{"code":0,"msg":"用户手机号!B4867 -> Formula Error: An unexpected error occurred"}
1
2
2. 解决方法
找到将值写入到单元格的那行代码,修改前:
$sheet->setCellValueByColumnAndRow(2, $start, $value);
1
修改后:
if ( $value && strpos($value, '=') === 0 ) {
// 在 = 前面加个单引号
$value = "'" . $value;
}
$sheet->setCellValueByColumnAndRow(2, $start, $value);
1
2
3
4
5
现在 Excel 表格就可以正常导出了
————————————————
版权声明:本文为CSDN博主「辰风沐阳」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_40994734/article/details/124120559
- unexpected occurred Formula Excel Errorunexpected occurred formula excel the administrator unexpected occurred certificate unexpected occurred signed underlying connection unexpected occurred unexpected connection rabbitmq occured error encountered installing unexpected unexpected internal stream error unexpected方法syntax error error unexpected complete命令 formula