Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
xlsx格式的不同语言Excel公式名称_Excel_Excel Formula_Xlsx - Fatal编程技术网

xlsx格式的不同语言Excel公式名称

xlsx格式的不同语言Excel公式名称,excel,excel-formula,xlsx,Excel,Excel Formula,Xlsx,我在应用程序中以xlsx格式生成了Excel文件。不幸的是,如果我使用函数的英文名称,并且我的Excel未设置为英文,则Excel会将其标识为错误的函数名称。类似情况在xls格式中不会发生 有没有办法避免这个问题 配置Excel本身是不可接受的解决方案,因为不应强制客户机在其环境中进行更改 提前感谢您的帮助Excel有自己的方法将公式从每种语言翻译成英语。你不应该管那件事,它做得很好。因此,西班牙语Excel中的文件可以在法语Excel中读取,无需进一步调整 例如,参见F1中的德国公式“SUMM

我在应用程序中以xlsx格式生成了Excel文件。不幸的是,如果我使用函数的英文名称,并且我的Excel未设置为英文,则Excel会将其标识为错误的函数名称。类似情况在xls格式中不会发生

有没有办法避免这个问题

配置Excel本身是不可接受的解决方案,因为不应强制客户机在其环境中进行更改


提前感谢您的帮助

Excel有自己的方法将公式从每种语言翻译成英语。你不应该管那件事,它做得很好。因此,西班牙语Excel中的文件可以在法语Excel中读取,无需进一步调整

例如,参见F1中的德国公式“SUMME”。当您询问时,excel会将其转换为“SUM”->查看右侧的即时窗口

你唯一应该避免的是这样的公式:
activecell.FormulaR1C1Local=“=SUMME(Z(8)S(-2):Z(9)S(-2))”
,因为它将本地公式作为字符串,Excel无法找到将“SUMME”转换为“SUM”的方法。

您的断言不正确。Office Open XML始终以en_us表示法存储Excel公式,而不以其他语言环境表示法存储。对区域设置符号的更改仅在Excel GUI中发生。但公式单元格内容和字符串单元格内容之间存在差异。公式不仅仅是以“=”开头的字符串@AxelRichter谢谢您提供的信息。我使用外部库生成excel文件,不确定是否可以区分公式单元格内容和字符串单元格内容。是否可以显式通知Excel它是应该处理的公式,或者它位于无法从gui更改的文件编码级别(某些元标记)。这取决于您使用的外部库。在Office Open XML(文件格式为
*.xlsx
中)中,字符串单元格的XML如下所示:
49
。这里的
t=“s”
表示类型字符串,值49表示共享字符串表中的位置49。公式单元格如下所示:
COUNTIF($B8:$AF8,“Pr”)5
。如您所见,公式有一个特殊的元素标记
f
,值5是最后计算的结果。