首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP_Calculation_Exception --可能与德文的Excel版本有关

PHP_Calculation_Exception --可能与德文的Excel版本有关
EN

Stack Overflow用户
提问于 2014-01-22 11:38:23
回答 1查看 571关注 0票数 0

我使用的是德语Excel版本,并将以下公式写入单元格AM27:

代码语言:javascript
复制
=WENNFEHLER(AN61/(AN$61+AN$62+AN$63);"")

这与英语公式相对应:

代码语言:javascript
复制
=iferror(AM61/(AM$61+AM$62+AM$63),"")

现在,我使用PHPExcel加载和保存文件,并获得此异常:

代码语言:javascript
复制
PHPExcel_Calculation_Exception: MySheetName!AN27 -> Formula Error: Unexpected ,

我的问题是

  1. 当您使用英文Excel版本和英文公式时,是否会发生同样的错误?
  2. 有办法解决这个异常吗?
  3. 或者,我是否可以在不计算此单元格的情况下处理纸张的其他部分并保存该文件?

谢谢你的帮忙!

EN

回答 1

Stack Overflow用户

发布于 2014-01-22 12:30:50

开发人员文件第4.6.4节:

将公式写入单元格时:

  • 十进制分隔符是. (句号)
  • 函数参数分隔符是, (逗号)
  • 矩阵行分隔符是; (分号)
  • 必须使用英文函数名。

例如:

代码语言:javascript
复制
$objPHPExcel->getActiveSheet()
    ->setCellValue(
        'AM27',
        '=IFERROR(AM61/(AM$61+AM$62+AM$63),"")'
    );

如果要使用德语函数名称和分隔符编写公式,则需要使用locale函数处理德语和英语之间的翻译(如开发人员文档4.6.5节所述):

代码语言:javascript
复制
$locale = 'de';
$validLocale = PHPExcel_Settings::setLocale($locale);

$objPHPExcel->getActiveSheet()
    ->setCellValue(
        'AM27',
        PHPExcel_Calculation::getInstance()
            ->translateFormulaToEnglish(
                '=WENNFEHLER(AM61/(AM$61+AM$62+AM$63);"")'
            )
    );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21281868

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档