La guía o código que encontrarás en este artículo es la resolución más eficiente y válida que hallamos a esta inquietud o problema.
Solución:
Con openpyxl 2.5.3
el código anterior no funciona.
después de intentarlo, el siguiente código funcionó:
from openpyxl.styles import PatternFill
sheet['A1'].fill = PatternFill(start_color="FFC7CE", end_color="FFC7CE", fill_type = "solid")
De la documentación:
from openpyxl.styles import PatternFill
sheet['A1'].fill = PatternFill(bgColor="FFC7CE", fill_type = "solid")
Como @Charlie Clark (coautor de abrirpyxl) sugiere, el formato condicional podría ser una mejor manera de hacerlo. Más información en el documento oficial
Si desea cambiar el color de fondo, de versiones más recientes, palabra clave bgcolor
parece no funcionar (en mi caso, el color de la celda termina siendo negro).
En su lugar, puede utilizar start_color
o fgColor
. Por ejemplo, ambas soluciones funcionan:
from openpyxl.styles import PatternFill
from openpyxl.styles.colors import YELLOW
sheet['A1'].fill = PatternFill(start_color="FFC7CE", fill_type = "solid")
sheet['A1'].fill = PatternFill(fgColor=YELLOW, fill_type = "solid")
Comentarios y puntuaciones
Acuérdate de que tienes autorización de comentar tu experiencia si te fue de ayuda.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)