You need to enable JavaScript to run this app. Python使用XlsxWriter为Excel添加条件格式时报AttributeError如何解决
优惠活动
大模型
产品
解决方案
定价
更多

Python使用XlsxWriter为Excel添加条件格式时报AttributeError如何解决

错误原因
  • 核心原因:XlsxWriter库的定位是创建全新的Excel文件,不支持读取、编辑已存在的Excel文件。你调用xlsxwriter.Workbook()传入已有文件路径时,会直接生成一个空白的同名文件覆盖原有文件,这个空白文件中不存在名为Summary的工作表,get_worksheet_by_name()方法找不到对应工作表就会返回None,后续调用conditional_format方法就会抛出NoneType相关的属性错误。
  • 额外潜在问题:原代码中条件格式的匹配值写为字符串'0',如果单元格中的0是数值类型,即使工作表存在也无法匹配触发格式。
解决方法

改用支持读取编辑已有Excel的openpyxl库实现需求,参考代码如下:

from openpyxl import load_workbook
from openpyxl.styles import Font
from openpyxl.formatting.rule import CellIsRule

# 加载已有Excel文件
wb = load_workbook(r"C:\Users\simon\REPORT.xlsx")
# 获取指定工作表
ws = wb['Summary']

# 定义灰色字体样式
gray_font = Font(color='A6A6A6')
# 添加条件格式:单元格值等于0时应用灰色字体
ws.conditional_formatting.add(
    'E21:U49',
    CellIsRule(operator='equal', formula=[0], font=gray_font)
)

# 保存修改,担心损坏原文件可修改为新的路径另存
wb.save(r"C:\Users\simon\REPORT.xlsx")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 06:15:01