Как добавить кнопку раскрывающегося списка для определенного столбца (D) в openpyXL и изменить цвет фона определенной ячейки, когда выбран один параметр - PullRequest
2 голосов
/ 10 февраля 2020

Используя OpenPyXl, можем ли мы добавить привилегию в выпадающий список (High и Low), как в XlsxWriter data_validation(); и добавить цвет фона Зеленый для всей строки, когда выбран High, и Красный, если выбран Low?

В XlsxWriter у нас есть:

format_green = workbook.add_format({'bg_color': 'green'})
format_red = workbook.add_format({'bg_color': 'red'})

# Apply the data validation rule
worksheet.data_validation('D2:D5', {'validate': 'list',
                            'source': ['High','Low']})

# Apply the conditional formating rules
worksheet.conditional_format('A2:D5', {'type': 'formula',
                            'criteria': '=$D2="High"',
                            'format': format_green})

worksheet.conditional_format('A2:D5', {'type': 'formula',
                            'criteria': '=$D2="Low"',

                            'format': format_red})

Есть ли у нас аналогичные функции при использовании OpenPyXl?

1 Ответ

1 голос
/ 10 февраля 2020

Да, есть и Условное форматирование и Проверка данных в OpenPyXl.

Вот пример условного форматирования:

import openpyxl
from openpyxl import *
from openpyxl.formatting import Rule
from openpyxl.styles import Font, PatternFill, Border, Alignment
from openpyxl.formatting.rule import CellIsRule

wb = load_workbook("./document.xlsx")
ws = wb.active

ws.conditional_formatting.add('A2:D5', CellIsRule(operator='lessThan', formula=['0'],font = Font(color = '00FF0000')))

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