如何选择openpyXL中特定列(D)的下拉按钮,并在选择一个选项时更改特定单元格的背景颜色

问题描述 投票:1回答:1

使用OpenPyXl,我们是否可以像在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时,我们有类似的功能吗?

python openpyxl xlsxwriter
1个回答
1
投票

是,Conditional Formatting中同时存在Data ValidationOpenPyXl

这里是条件格式的示例:

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')
© www.soinside.com 2019 - 2024. All rights reserved.