我目前在Python2.7上使用openpyxl v2.2.2,我想给单元格设置颜色。我使用了以下导入
import openpyxl,
from openpyxl import Workbook
from openpyxl.styles import Color, PatternFill, Font, Border
from openpyxl.styles import colors
from openpyxl.cell import Cell
下面是我尝试使用的代码:
wb = openpyxl.Workbook()
ws = wb.active
redFill = PatternFill(start_color='FFFF0000',
end_color='FFFF0000',
fill_type='solid')
ws['A1'].style = redFill
但我得到以下错误:
Traceback (most recent call last)
self.font = value.font.copy()
AttributeError: 'PatternFill' object has no attribute 'font'
关于如何使用A1设置单元格颜色(或任何其他单元格),你有什么想法吗?
发布于 2015-05-27 22:57:58
我认为问题在于你试图给一个样式分配一个填充对象。
ws['A1'].fill = redFill
应该可以很好地工作。
发布于 2017-09-08 03:04:29
样式的API再次更改。对我起作用的是
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
中将一组颜色定义为常量。
发布于 2016-09-09 05:23:26
这对我很有效。他们改变了一些东西,你在互联网上看到的大多数帮助都是针对我所看到的openpyxl库的旧版本的。
# Change background color
xls_cell.style = Style(fill=PatternFill(patternType='solid',
fill_type='solid',
fgColor=Color('C4C4C4')))
https://stackoverflow.com/questions/30484220
复制相似问题