Почему Excel не может «фильтровать по цвету» для стилей, созданных openpyxl? - PullRequest
0 голосов
/ 17 марта 2020

Я создал книгу Excel и рабочий лист, используя openpyxl.

Я установил заливку и цвет шрифта для некоторых ячеек следующим образом:

ws.cell(row=2, column=1).font = some_font_defined_earlier
ws.cell(row=2, column=1).fill = some_fill_defined_earlier

Шрифт и заливка применены правильно и отлично смотрится в Excel. Однако в автофильтре строки 1 я не вижу обычных параметров «Фильтровать по цвету», которые обычно отображаются с цветными ячейками, когда они были окрашены в Excel.

Применял ли я стили в неправильно / по-другому? Как я могу установить цвет заливки и шрифта, а также сделать так, чтобы Excel позволял мне фильтровать цвета?

EDIT1:

Чтобы быть понятным, я применил автофильтр используя:

ws.auto_filter.ref = ws.dimensions

Я вижу автофильтр по значениям, но не по цветам. Filter by Color отображается серым цветом, хотя многие клетки имеют цвета.

1 Ответ

0 голосов
/ 18 марта 2020

Похоже, что ответ на это все в Excel, а не в книге. Кажется, что в Excel наблюдается непредсказуемое поведение в отношении неактивного Filter by Color.

В моем случае у меня было более 10 000 строк и, как описано в # 4 из Советы и хитрости 120 - Фильтр по выпадающему меню цвета Проблема с серым , Filter by Color может просто не работать:

Также, если первая цветная ячейка появляется после приблизительно 10000 строк, Excel может не определить цвет. Чтобы преодолеть это поведение, поместите цвет в первую ячейку, и теперь он включит фильтр по цвету. Единственное, что эта цветная ячейка будет лишним в вашем фильтрованном списке.
...