PHP 导出 Excel 报错: Formula Error: An unexpected error occurred
2024-09-24
20
1. 问题描述
一个项目中用到了需要将用户信息导出到 Excel ,最初写完测试是正常的,如下图所示
在后来的某一天,导出手机号突然出现了报错,如下图所示
通过提示我们将问题定位在了 B 列 4867 行。
这是因为在 excel 中,单元格中的值如果是以 “=” 开头,则说明这个单元格是根据其他单元格的值算出来的,“=” 后面必须跟着一个合法的表达式。所以,解决方案就是这个单元格的值不让它以 “=” 开头
# Formula Error: An unexpected error occurred 公式错误:发生意外错误
{"code":0,"msg":"用户手机号!B4867 -> Formula Error: An unexpected error occurred"}
2. 解决方法
找到将值写入到单元格的那行代码,修改前:
$sheet->setCellValueByColumnAndRow(2, $start, $value);
修改后:
if ( $value && strpos($value, '=') === 0 ) {
// 在 = 前面加个单引号
$value = "'" . $value;
}
$sheet->setCellValueByColumnAndRow(2, $start, $value);
现在 Excel 表格就可以正常导出了
更新于:20天前赞一波!
相关文章
- MySQL5.7 中使用 group by 报错 this is incompatible with sql_mode=only_full_group_by
- linux中Qt工程编译报错: error: 找不到 -lGL
- PHP7.4命令行报错:VC运行库和PHP版本不兼容
- 打开vmware虚拟机报错—该虚拟机似乎正在使用中
- React Error: Exceeded timeout of 5000 ms for a test. 错误
- 前端请求PHP接口,报错跨域问题
- Apache报错:无法使用可靠的服务器域名
- mysql报错xamp table 'pma__recent' is read only
- 浏览器报错 ERR_SSL_VERSION_OR_CIPHER_MISMATCH
- linux编译报错:/usr/include/c++/7/cstdlib:41:10: fatal error: bits/c++config.h: No such file or directory
- Linux下编译libxml源码时,报错:/usr/include/x86_64-linux-gnu/bits/fcntl2.h:50:4: error: call to '__open...
- Linux下编译libxml2的源码报错:you must specify a host type if you use `--no-verify'
- vscode中通过ssh远程连接linux报错:Bad owner or permissions on C:\\Users\\用户名/.ssh/config
- Open SUSE Linux中编译内核模块报错
- EF报错Win32Exception: 证书链是由不受信任的颁发机构颁发的。
- EF Core 8 (EF8) Contains报错:Microsoft.Data.SqlClient.SqlException (0x80131904): 关键字 'WITH' 附近有语法错误。
- C/C++使用gcc或g++编译报错:error: parameter ‘xxx’ set but not used [-Werror=unused-but-set-parameter]
- Ubuntu Linux中apt/dpkg安装报错:Sub-process /usr/bin/dpkg returned an error code (1)
- Git报错 fatal : fetch-pack: invalid index-pack output
- .NET8站点报错:HTTP Error 500.31 - Failed to load ASP.NET Core runtime
文章评论
评论问答