PHP导出表格数据到excel很常用。平时都导出得很正常,有些情况下导出居然会显示失败,提示xxx错误 Formula Error: An unexpected error occured 这种情况不是PHP异常导致的,而是解析Excel数据时出现错误。第一感觉就应该想到可能是有特殊字符的存在导致了解析失败。从网上找了相关资料,确实也是这方面的分析。因此我在网页读取列表到表格的时候根据时间范围,用二分法逐步锁定目标,找到如下内容。
=炎如酷夏=职业 女魔法转元素师
因此我们需要替换或者过滤,根据实际情况处理。我这里采用后者,用一个比较相近的字符替换
//避免特殊字符无法导出excel v1 取最后一个元素长得像=号的字符〓替换
if (strpos($v['content'],"=")!==false){
$v['content'] = str_replace("=","〓",$v['content']);
}