recorrer - python obtener datos de excel
python-rellena las celdas con colores usando openpyxl (3)
Creo que el problema es que estás tratando de asignar un objeto de relleno a un estilo.
ws[''A1''].fill = redFill
debería funcionar bien.
Actualmente estoy usando openpyxl v2.2.2 para Python 2.7 y quería establecer colores en celdas. He utilizado las siguientes importaciones
import openpyxl,
from openpyxl import Workbook
from openpyxl.styles import Color, PatternFill, Font, Border
from openpyxl.styles import colors
from openpyxl.cell import Cell
y el siguiente es el código que intenté usar:
wb = openpyxl.Workbook()
ws = wb.active
redFill = PatternFill(start_color=''FFFF0000'',
end_color=''FFFF0000'',
fill_type=''solid'')
ws[''A1''].style = redFill
pero me sale el siguiente error:
Traceback (most recent call last)
self.font = value.font.copy()
AttributeError: ''PatternFill'' object has no attribute ''font''
¿Alguna idea sobre cómo configurar la celda A1 (o cualquier otra celda) con colores usando openpyxl?
Esto funcionó para mí. Cambiaron las cosas y la mayor parte de la ayuda que ves en Internet es para versiones anteriores de la biblioteca openpyxl de lo que estoy viendo.
# Change background color
xls_cell.style = Style(fill=PatternFill(patternType=''solid'',
fill_type=''solid'',
fgColor=Color(''C4C4C4'')))
La API para los estilos cambió una vez más. Lo que funcionó para mí fue
my_red = openpyxl.styles.colors.Color(rgb=''00FF0000'')
my_fill = openpyxl.styles.fills.PatternFill(patternType=''solid'', fgColor=my_red)
cell.fill = my_fill
El color es un color alfa RGB. Puede pasarlo como ''rrggbb''
con un alfa predeterminado de 00 o especificar el alfa con ''aarrggbb''
. Un grupo de colores se define como constantes en openpyxl.styles.colors
si necesita tomar uno rápidamente.