2016-12-21 10 views
0

Я пытаюсь проверить, выделена ли ячейка желтым цветом. Все сообщения, с которыми я столкнулся, это заполнить ячейку, а не проверить, есть ли у нее заполнение. Heres мой код до сих пор:Openpyxl - проверка наличия ячейки

coordinates = [] 

fl = PatternFill(patternType = "solid", fgColor="FFFFFF00", bgColor="FFFFFF00") 
print (fl) 

for d in ws['A']: 

    if str(d.value)[0:10] == str(last_day_of_month) and d.fill == fl: 
     coordinates.append(d.coordinate) 
    elif str(d.value)[0:10] == str(previous_month) and d.fill == fl: 
     coordinates.append(d.coordinate) 
     break 

Мне не нужно, чтобы проверить, если ячейка является правильным цветом или нет, мне просто нужно знать, если его выделен так что любой метод, чтобы выяснить, если клетка имеет заливку было бы замечательно.

ответ

0

Попробуйте это:

if (d.font.color): 
    #it's highlighted 

Или есть другой вариант:

d.fill.start_color.index 

Надеется, что это помогает.

+0

Он вернулся «Нет». Я действительно надеялся, что все так просто. –

+0

@DavidVo Вы уверены, что указали правильную строку, столбец и т. Д.? – Nurjan

+0

@DavidVo Я отредактировал ответ. Попробуй это. – Nurjan