我正在使用德语Excel版本并将以下公式写入Cell AM27:
=WENNFEHLER(AN61/(AN$61+AN$62+AN$63);"")
这相当于英文公式:
=iferror(AM61/(AM$61+AM$62+AM$63),"")
现在我正在使用PHPExcel加载并保存文件并获得此异常:
PHPExcel_Calculation_Exception: MySheetName!AN27 -> Formula Error: Unexpected ,
我的问题是
感谢您的帮助!
答案 0 :(得分:0)
开发人员文档的第4.6.4节:
将公式写入单元格时:
.
(句点),
(逗号);
(分号)e.g。
$objPHPExcel->getActiveSheet()
->setCellValue(
'AM27',
'=IFERROR(AM61/(AM$61+AM$62+AM$63),"")'
);
如果要使用德语函数名称和分隔符编写公式,则需要使用语言环境函数来处理德语和英语之间的转换(如开发人员文档的第4.6.5节所述):
$locale = 'de';
$validLocale = PHPExcel_Settings::setLocale($locale);
$objPHPExcel->getActiveSheet()
->setCellValue(
'AM27',
PHPExcel_Calculation::getInstance()
->translateFormulaToEnglish(
'=WENNFEHLER(AM61/(AM$61+AM$62+AM$63);"")'
)
);