Попытка использовать 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")