Ahmed Rashad Ahmed Rashad - 3 months ago 75
Python Question

python - fill cells with colors using openpyxl

I am currently using openpyxl v2.2.2 for Python 2.7 and i wanted to set colors to cells. I have used the following imports

import openpyxl,
from openpyxl import Workbook
from openpyxl.styles import Color, PatternFill, Font, Border
from openpyxl.styles import colors
from openpyxl.cell import Cell


and the following is the code I tried using:

wb = openpyxl.Workbook()
ws = wb.active

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

ws['A1'].style = redFill


but I get the following error:

Traceback (most recent call last)
self.font = value.font.copy()
AttributeError: 'PatternFill' object has no attribute 'font'


Any idea on how to set cell A1 (or any other cells) with colors using openpyxl?

Answer

Why are you trying to assign a fill to a style?

ws['A1'].fill = redFill should work fine.