Skip to main content
 首页 » 编程设计

python之Openpyxl:将背景颜色设置为行和列属性错误

2025年05月04日16wuhuacong

看过这里的几个示例后,我尝试将背景颜色设置为整行和整列。我已经做了

 import openpyxl 
 from openpyxl.styles import PatternFill 
 wb = openpyxl.load_workbook(self.inputfile) 
 ws = wb.active 
 ws['A1'].fill = PatternFill(bgColor="FFC7CE", fill_type = "solid")` 

如果我执行 `ws[1].fill =PatternFill(bgColor="FFC7CE", fill_type = "solid"),我会得到一个属性错误

上面的代码填充了一个单元格(A1)。但是,如果我想填充整行 (1) 和整列 (A),我该如何继续。

请您参考如下方法:

迭代所有列,从 min_col=1 参数中指定的列开始。
在一行后结束,因为行参数 min_row=1 和 max_row=1 相等。
参数 min_row/max_row 可以指向任何行,甚至可以指向外部数据。

  for rows in ws.iter_rows(min_row=1, max_row=1, min_col=1): 
    for cell in rows: 
      cell.fill = PatternFill(bgColor="FFC7CE", fill_type = "solid") 

对于整个列,使用:

iter_cols(min_col=None, max_col=None, min_row=None, max_row=None) 

如果您只给 min_* 属性值,则使用最大行/列。

使用 Python:3.4.2 - openpyxl:2.4.1 测试