OpenPyxl写入公式报错:单元格显示#NameError问题求助
问题原因解析
- OpenPyxl遵循OOXML标准,公式函数名统一使用英文(如SUM),不受Office语言环境影响。不管你代码里写
SUMA还是用.upper()转大写,它内部都会把函数名标准化为小写的sum,这就是你打开文件后看到小写sum的原因。 - 波兰语环境的LibreOffice只认本地化函数名
SUMA,但OpenPyxl不支持直接写入本地化函数名,只会输出标准英文函数名格式。手动改成SUMA能运行,是因为LibreOffice识别本地语言函数,但OpenPyxl输出的英文函数名在非英文环境下会被判定为未知函数,触发#NameError。 .upper()方法无效的核心原因:OpenPyxl处理公式时会强制对函数名做标准化转换,覆盖你代码层面的大小写修改。
内容的提问来源于stack exchange,提问作者Conrad Niepodam
相关产品推荐
相关产品推荐

