Фильтровать столбец в Excel по цвету ячейки, используя Python - PullRequest
0 голосов
/ 15 апреля 2020

Попытка использовать Python для фильтрации столбца в Excel по цвету переднего плана ячейки с использованием openpyxl или xlsxwriter. Из того, что я прочитал, xlsxwriter не поддерживает это :(. Чтение документов openpyxl много раз без каких-либо затруднений. Согласно документации openpyxl.worksheet.filters.ColorFilter (dxfId = None, cellColor = None) - это то, что я должен использовать, однако Кажется, я не могу заставить его работать, любая помощь или указатель будет принята с благодарностью. Я могу заставить работать текстовую фильтрацию, но не цвет.

import openpyxl

wb = openpyxl.Workbook()
ws = wb.active

data = [
    ["Fruit", "Quantity"],
    ["Kiwi", 3],
    ["Grape", 15],
    ["Apple", 3],
    ["Peach", 3],
    ["Pomegranate", 3],
    ["Pear", 3],
    ["Tangerine", 3],
    ["Blueberry", 3],
    ["Mango", 3],
    ["Watermelon", 3],
    ["Blackberry", 3],
    ["Orange", 3],
    ["Raspberry", 3],
    ["Banana", 3]
]

for r in data:
    ws.append(r)

ws.auto_filter.ref = "A1:B15"
ws['A2'].fill = openpyxl.styles.PatternFill(fgColor="F0F0F0", fill_type="solid")

# Tried:
# ws = openpyxl.worksheet.filters.ColorFilter(0, cellColor="F0F0F0")
# ws.worksheet.filters.ColorFilter(0, cellColor="F0F0F0")
# ws.color_filter(0, cellColor="F0F0F0")
# ... Many others

# Text filter works:
# ws.auto_filter.add_filter_column(0, ["Kiwi", "Apple", "Mango"])  # This works

wb.save("filtered.xlsx")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...