Laravel Maatwebsite导出XLS时复杂公式失效问题求助
解决Maatwebsite Excel导出复杂公式不生效的问题
你的问题出在公式字符串的HTML转义字符上。你写的公式里用了<>、"这些转义符号,但Excel原生公式不需要这些,直接用<>、""就行,转义后的字符串会被Excel当成静态文本,而非可执行的公式。
修正步骤:
- 把公式里的
<>替换成<>,"替换成"",还原成Excel能识别的原生公式格式 - 保持
DataType::TYPE_FORMULA的设置不变,确保单元格被标记为公式类型
修正后的代码:
use PhpOffice\PhpSpreadsheet\Cell\DataType; // 使用Excel原生公式格式,无需转义 $formula = '=IF(B10<>"",CONCATENATE(LOOKUP(2,1/($A$2:A10<>""),$A$2:A10),"_",B10),"")'; $sheet->setCellValueExplicit("C10", $formula, DataType::TYPE_FORMULA);
这样导出后,C10单元格的公式就能正常生效,修改A10或B10时会自动计算更新结果。
内容的提问来源于stack exchange,提问作者A4family
相关产品推荐
相关产品推荐

