Python对EXCEL多行条件标注单元格背景颜色
时间: 2023-05-30 15:05:45 浏览: 483
python之DataFrame实现excel合并单元格
5星 · 资源好评率100%
Python可以使用openpyxl模块来对EXCEL多行条件标注单元格背景颜色。
以下是一个示例代码:
```python
from openpyxl.styles import PatternFill
from openpyxl import Workbook
# 创建一个新的工作簿
wb = Workbook()
# 获取工作簿中的活动工作表
ws = wb.active
# 设置单元格的值
ws['A1'] = "Apple"
ws['B1'] = 100
ws['C1'] = "Green"
ws['A2'] = "Banana"
ws['B2'] = 200
ws['C2'] = "Yellow"
ws['A3'] = "Orange"
ws['B3'] = 150
ws['C3'] = "Orange"
# 定义一些条件格式
# 绿色背景,如果单元格C中的值为"Green"
green_fill = PatternFill(start_color='00FF00', end_color='00FF00', fill_type='solid')
ws.conditional_formatting.add('C1:C3', PatternFillRule(fill=green_fill, stopIfTrue=True, formula=['$C1="Green"']))
# 黄色背景,如果单元格B中的值大于等于200
yellow_fill = PatternFill(start_color='FFFF00', end_color='FFFF00', fill_type='solid')
ws.conditional_formatting.add('B1:B3', PatternFillRule(fill=yellow_fill, stopIfTrue=True, formula=['$B1>=200']))
# 橙色背景,如果单元格A中的值为"Orange"并且单元格B中的值小于150
orange_fill = PatternFill(start_color='FFA500', end_color='FFA500', fill_type='solid')
ws.conditional_formatting.add('A1:B3', PatternFillRule(fill=orange_fill, stopIfTrue=True, formula=['$A1="Orange"', '$B1<150']))
# 保存工作簿
wb.save("example.xlsx")
```
在上面的示例代码中,我们首先创建一个新的工作簿,并在其活动工作表中设置了一些单元格的值。然后,我们定义了三个条件格式,并将其应用于单元格范围。最后,我们保存了工作簿。
运行上面的代码后,我们将得到一个名为“example.xlsx”的新工作簿,其中包含了我们设置的条件格式。您可以打开这个工作簿,查看单元格的背景颜色是否符合您的预期。
阅读全文