Python Xlsxwriter 简明教程
Python XlsxWriter - Conditional Formatting
Excel 使用“@ {s5}”基于用户定义的条件更改范围内单元格的外观。从条件格式设置菜单中,可以定义涉及各种类型值的条件。
在下方的工作表中,A 列具有不同的数字。小于 50 的数字以红色字体和灰色背景色显示。
这是通过定义以下条件格式规则实现的:
The conditional_format() method
在 XlsxWriter 中,在 Worksheet 类中定义“@ {s6}”方法。若要实现上述显示结果,请按以下代码调用“@ {s7}”方法:
import xlsxwriter
wb = xlsxwriter.Workbook('hello.xlsx')
ws = wb.add_worksheet()
data=[56,95,63,34,81,47,74,5,99,12]
row=0
for num in data:
ws.write(row,0,num)
row+=1
f1 = wb.add_format({'bg_color': '#D9D9D9', 'font_color': 'red'})
ws.conditional_format(
'A1:A10',{
'type':'cell', 'criteria':'<', 'value':50, 'format':f1
}
)
wb.close()
Parameters
“@ {s8}”方法的第一个参数是单元格范围,第二个参数是条件格式设置选项的字典。
选项字典使用以下参数配置条件格式设置规则:
“@ {s9}”选项是必需参数。其值可以是单元格、日期、文本、公式等。每个参数都有子参数,例如条件、值、格式等。
-
“@ {s10}”是最常见的条件格式设置类型。在根据简单条件将格式应用于单元格时使用它。
-
“@ {s11}”参数设置单元格数据将按其评估的条件。除了 between 和 not between 运算符之外的所有逻辑运算符都是 criteria 参数的可能值。
-
“@ {s12}”参数是形成该规则的条件的运算符。
-
“@ {s13}”参数是 Format 对象(由“@ {s14}”方法返回)。这定义了要应用于满足条件的单元格的格式化功能,例如字体、颜色等。
date 类型与单元格类型相似,并且使用相同的标准和值。但是,值参数应给为 datetime 对象。
text 类型指定 Excel 的“特定文本”样式条件格式。它用于使用标准和值参数执行简单的字符串匹配。
Example
当使用 formula 类型时,条件格式取决于用户定义的公式。
import xlsxwriter
wb = xlsxwriter.Workbook('hello.xlsx')
ws = wb.add_worksheet()
data = [
['Anil', 45, 55, 50], ['Ravi', 60, 70, 80],
['Kiran', 65, 75, 85], ['Karishma', 55, 65, 45]
]
for row in range(len(data)):
ws.write_row(row,0, data[row])
f1 = wb.add_format({'font_color': 'blue', 'bold':True})
ws.conditional_format(
'A1:D4',
{
'type':'formula', 'criteria':'=AVERAGE($B1:$D1)>60', 'value':50, 'format':f1
})
wb.close()