You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python调用win32com.client设置Excel NumberFormat属性报错如何解决

问题原因

Excel的自定义数字格式有严格的语法规则,你直接拼接的Power (USD/kWh)部分包含括号、斜杠等特殊字符,Excel会将这些字符误识别为格式控制关键字而非普通显示文本,导致格式语法校验失败,因此抛出无法设置NumberFormat属性的错误。

解决方法

方法1:将需原样显示的文本用双引号包裹

Excel自定义格式规则中,双引号包裹的内容会被识别为普通文本直接输出。Python中可以用单引号包裹整个格式字符串,避免转义内部的双引号,将报错行修改为如下内容即可:

worksheet.Range("B" + str(end_hdr_row)).NumberFormat = '"Power ('+currency+'/kWh)" #,##0.00'

修改后单元格内的0.12会显示为Power (USD/kWh) 0.12,符合预期显示效果。

方法2:特殊字符前加反斜杠转义

也可以给文本中所有的特殊字符前加反斜杠,告诉Excel这些为普通显示字符,这种写法适合文本较短的场景:

worksheet.Range("B" + str(end_hdr_row)).NumberFormat = 'Power \('+currency+'\/kWh\) #,##0.00'

内容的提问来源于stack exchange,提问作者rower2000

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 09:45:10