【问题标题】:Cell Colors Using OpenPyxl 2.02使用 OpenPyxl 2.02 的单元格颜色
【发布时间】:2014-07-11 22:41:10
【问题描述】:

我刚刚从 openpyxl 1.6.2 升级到 2.02,并且对设置单元格颜色有疑问。

Styles 函数应该处理所有必要的格式,包括使用 Fill 函数设置单元格颜色。后一个函数将 fill_type 作为其参数之一。您如何将其设置为实心填充?在以前的版本中,这是通过以下方式完成的:

mycell.style.fill.fill_type = Fill.FILL_SOLID

documentation 看起来正在进行中,似乎表明设置 fill_type = Fill.FILL_SOLID 可以解决问题(向下滚动到页面底部的注释)。但是我在尝试时遇到了 AttributeError。

from openpyxl.styles import Fill, Color
from openpyxl.styles.colors import RED

redfill = Fill(fill_type=Fill.FILL_SOLID,start_color=RED)

Traceback (most recent call last):
  File "<pyshell#20>", line 1, in <module>
    redfill = Fill(fill_type=Fill.FILL_SOLID,start_color=RED)
AttributeError: type object 'Fill' has no attribute 'FILL_SOLID'

有什么想法吗?

【问题讨论】:

    标签: colors styles cell openpyxl


    【解决方案1】:

    样式一旦创建就不可更改,您必须构造一个新样式并将其分配给单元格style 属性,如下所示:

    mycell.style = Style(fill=PatternFill(patternType='solid', fgColor=Color('FFFF0000')))
    

    这会将单元格变为红色。

    【讨论】:

      【解决方案2】:

      常量现在是模块而不是类常量。

         from openpyxl.styles import fills, PatternFill
         fill = PatternFill(patternType=fills.FILL_SOLID)
      

      虽然我认为使用patternType='solid' 更容易

      【讨论】:

        猜你喜欢
        • 2015-08-09
        • 2021-05-05
        • 2016-12-09
        • 2018-11-28
        • 1970-01-01
        • 1970-01-01
        • 2021-01-12
        • 2013-01-13
        • 2017-02-12
        相关资源
        最近更新 更多