使用Python xlwings修改Excel字体颜色时报AttributeError问题求助
报错原因
Excel 底层 COM 接口的属性对大小写高度敏感,你代码中使用的小写font不是合法的属性名,正确的属性名是首字母大写的Font,这就是触发AttributeError的直接原因。
解决方法
你可以任选以下两种方案中的一种修改代码:
方案1:修正COM API调用写法
仅修改对应行的属性名即可,修改后的代码如下:
worksheet.range(changeFontCellColour).api.Font.Color = rgb_to_int((176,176,176))
方案2:使用xlwings原生封装接口(更推荐)
xlwings已经对字体颜色修改做了上层封装,不需要手动调用底层COM接口,写法更简洁,也不会踩大小写敏感的坑,同时原生支持直接传入RGB三元组,不需要额外做int转换:
worksheet.range(changeFontCellColour).font.color = (176,176,176)
如果选择这个方案,你可以直接移除代码中rgb_to_int相关的调用逻辑。
内容的提问来源于stack exchange,提问作者Momo
相关产品推荐
相关产品推荐

