2014-05-22 11 views
6

Właśnie zaktualizowałem z wersji Openpyxl 1.6.2 do wersji 2.02 i mam pytanie dotyczące ustawiania kolorów komórek.Kolory komórek przy użyciu OpenPyxl 2.02

W Style funkcja powinna obsługiwać wszystkie niezbędne formatowanie i że zawiera pomocą Fill funkcji, aby ustawić kolor komórki. Ta ostatnia funkcja ma jeden z argumentów: fill_type. Jak ustawić to na stałe wypełnienie? W poprzednich wersjach było to zrobić za pomocą coś takiego:

mycell.style.fill.fill_type = Fill.FILL_SOLID 

documentation, który wygląda to w toku, wydaje się sugerować, że ustawienie fill_type = Fill.FILL_SOLID rade (przewinąć w dół do uwag na dół strony). Ale otrzymuję AttributeError podczas próby.

from openpyxl.styles import Fill, Color 
from openpyxl.styles.colors import RED 

redfill = Fill(fill_type=Fill.FILL_SOLID,start_color=RED) 

Traceback (most recent call last): 
    File "<pyshell#20>", line 1, in <module> 
    redfill = Fill(fill_type=Fill.FILL_SOLID,start_color=RED) 
AttributeError: type object 'Fill' has no attribute 'FILL_SOLID' 

Jakieś myśli?

Odpowiedz

6

Stałe są teraz stałymi modułami, a nie klasami.

from openpyxl.styles import fills, PatternFill 
    fill = PatternFill(patternType=fills.FILL_SOLID) 

Choć myślę, że łatwiej jest po prostu użyć patternType='solid'

8

Styl jest niezmienna raz stworzony, trzeba zbudować nową i przypisać go do komórek style własności takiego:

mycell.style = Style(fill=PatternFill(patternType='solid', fgColor=Color('FFFF0000'))) 

to okaże się czerwonych krwinek.

Powiązane problemy