首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用openpyxl用颜色填充单元格?

使用openpyxl用颜色填充单元格?
EN

Stack Overflow用户
提问于 2015-05-27 21:39:24
回答 8查看 108.4K关注 0票数 57

我目前在Python2.7上使用openpyxl v2.2.2,我想给单元格设置颜色。我使用了以下导入

代码语言:javascript
复制
import openpyxl,
from openpyxl import Workbook
from openpyxl.styles import Color, PatternFill, Font, Border
from openpyxl.styles import colors
from openpyxl.cell import Cell

下面是我尝试使用的代码:

代码语言:javascript
复制
wb = openpyxl.Workbook()
ws = wb.active

redFill = PatternFill(start_color='FFFF0000',
                   end_color='FFFF0000',
                   fill_type='solid')

ws['A1'].style = redFill

但我得到以下错误:

代码语言:javascript
复制
Traceback (most recent call last)
  self.font = value.font.copy()
AttributeError: 'PatternFill' object has no attribute 'font'

关于如何使用A1设置单元格颜色(或任何其他单元格),你有什么想法吗?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2015-05-27 22:57:58

我认为问题在于你试图给一个样式分配一个填充对象。

ws['A1'].fill = redFill应该可以很好地工作。

票数 60
EN

Stack Overflow用户

发布于 2017-09-08 03:04:29

样式的API再次更改。对我起作用的是

代码语言:javascript
复制
my_red = openpyxl.styles.colors.Color(rgb='00FF0000')
my_fill = openpyxl.styles.fills.PatternFill(patternType='solid', fgColor=my_red)
cell.fill = my_fill

颜色是alpha RGB十六进制颜色。您可以将其作为默认alpha为00的'rrggbb'传递,也可以使用'aarrggbb'指定alpha。如果您需要快速获取一种颜色,则在openpyxl.styles.colors中将一组颜色定义为常量。

票数 14
EN

Stack Overflow用户

发布于 2016-09-09 05:23:26

这对我很有效。他们改变了一些东西,你在互联网上看到的大多数帮助都是针对我所看到的openpyxl库的旧版本的。

代码语言:javascript
复制
# Change background color 
xls_cell.style = Style(fill=PatternFill(patternType='solid',
                                        fill_type='solid', 
                                        fgColor=Color('C4C4C4')))
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30484220

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档