PHP 导出 Excel 报错: Formula Error: An unexpected error occurred

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 表格就可以正常导出了

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用\[1\]中的代码报错是因为在`os.chdir()`函数中使用了`\`作为路径分隔符,但是`\`在Python中是转义字符,所以需要使用两个`\`来表示一个`\`。正确的写法应该是`os.chdir(time_year + "\\" + time_month + "\\" + time_day)`。 引用\[2\]中的代码报错是因为在`train_test_split()`函数的参数传递过程中使用了`\`作为换行符,但是在`\`后面不能有其他字符,比如空格或者注释。所以需要删除`\`后面的空格或注释。正确的写法应该是: ``` cancer_data_train, cancer_data_test, \ cancer_target_train, cancer_target_test = \ train_test_split(cancer_data, cancer_target, \ test_size=0.2, random_state=42) ``` 引用\[3\]中的代码报错是因为在`os.chdir()`函数中使用了`\`作为路径分隔符,但是`\`在Python中是转义字符,所以需要使用两个`\`来表示一个`\`。正确的写法应该是`os.chdir(time_year + "\\" + time_month + "\\" + time_day)`。 所以,报错`SyntaxError: unexpected character after line continuation character`是因为在使用`\`作为路径分隔符时没有正确处理转义字符的问题。 #### 引用[.reference_title] - *1* *3* [Python_报错:SyntaxError: unexpected character after line continuation character](https://blog.csdn.net/weixin_30800987/article/details/95579457)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [python:出现SyntaxError: unexpected character after line continuation character解决方案](https://blog.csdn.net/m0_50707858/article/details/121232539)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值