如何在ExcelJS中添加复杂公式?公式报错问题求助
Excel导出时带条件判断/聚合公式报错丢失问题
我正在开发一个多Sheet Excel导出项目,需要在其中一个Sheet中添加引用首个Sheet数据的条件判断公式。核心代码如下:
Ref !== null ? worksheet2.getCell('D2').value = { formula: `IF('dataSheet'!${Ref.address}<>"",'dataSheet'!${Ref.address},"")`, result: Ref.value } : worksheet2.getCell('D2').value = '';
Ref为首个Sheet中标记为“ref”的单元格
但添加IF、VLOOKUP这类公式后,打开Excel文件时会触发报错:
We found a problem with some content in test.xlsx. Do you want us to try to recover as much as we can? If you trust the source of this workbook, click Yes.
点击恢复后,文件内容可正常显示,但所有IF、VLOOKUP公式全部丢失,SUM、AVERAGE等聚合公式也无法正常工作。仅A1+A2这类简单运算公式能正常使用。
我已经做了以下尝试,但均未解决问题:
- 公式前加/不加“=”符号,结果一致;
- 测试极简公式
formula: '=IF(A1=0,10,0)',同样触发报错丢失; - 按照文档要求添加
result字段,无效果; - 替换为XLSX包实现,问题复现;
- 考虑到工作环境为法国(需用法语公式,如IF对应SI),尝试切换为英语公式后,问题依旧。
内容的提问来源于stack exchange,提问作者Bearcat29
相关产品推荐
相关产品推荐

