#### 1. 問題描述 --- 一個(gè)項(xiàng)目中用到了需要將用戶信息導(dǎo)出到 Excel ,最初寫完測(cè)試是正常的,如下圖所示 ![](https://img.itqaq.com/art/content/4af23d126f48d1518948ce3b32195bf9.png) 在后來的某一天,導(dǎo)出手機(jī)號(hào)突然出現(xiàn)了報(bào)錯(cuò),如下圖所示 ![](https://img.itqaq.com/art/content/d26d095d7c5de3fdbfe411dddf06764d.png) 通過提示我們將問題定位在了 B 列 4867 行。 這是因?yàn)樵?excel 中,單元格中的值如果是以 “=” 開頭,則說明這個(gè)單元格是根據(jù)其他單元格的值算出來的,“=” 后面必須跟著一個(gè)合法的表達(dá)式。所以,解決方案就是這個(gè)單元格的值不讓它以 “=” 開頭 ``` # Formula Error: An unexpected error occurred 公式錯(cuò)誤:發(fā)生意外錯(cuò)誤 {"code":0,"msg":"用戶手機(jī)號(hào)!B4867 -> Formula Error: An unexpected error occurred"} ``` #### 2. 解決方法 --- 找到將值寫入到單元格的那行代碼,修改前: ```php $sheet->setCellValueByColumnAndRow(2, $start, $value); ``` 修改后: ```php if ( $value && strpos($value, '=') === 0 ) { // 在 = 前面加個(gè)單引號(hào) $value = "'" . $value; } $sheet->setCellValueByColumnAndRow(2, $start, $value); ``` 現(xiàn)在 Excel 表格就可以正常導(dǎo)出了 ![](https://img.itqaq.com/art/content/117f1a3960931012782f004d5fc50551.png)