Top10是将最大或最小的N个数用指定颜色进行亮显。代码如下所示:[大谦Excel,dqexcel点com]
code.python
import xlwings as xw #导入xlwings
import os #导入os
root = os.getcwd() #获取当前路径
#创建Excel应用窗口,可见,不添加工作簿
app=xw.App(visible=True, add_book=False)
#打开数据文件,可写
bk=app.books.open(fullname=root+r'\09 条件格式.xlsx',read_only=False)
sht=bk.api.Sheets(1) #获取工作表
rng=sht.Range('A1:A15') #获取单元格区域
rng.FormatConditions.Delete() #删除单元格区域中已有的条件格式
rng.FormatConditions.AddTop10() #创建Top10对象
rng.FormatConditions(1).SetFirstPriority()
rng.FormatConditions(1).TopBottom=\
xw.constants.TopBottom.xlTop10Top #最大
rng.FormatConditions(1).Rank=5 #最大5个数
fnt=rng.FormatConditions(1).Font #获取字体对象
fnt.Color=xw.utils.rgb_to_int((255,0,0)) #红色文字
fnt.TintAndShade=0 #字体颜色的明暗程度,值为-1到1之间的值
inter=rng.FormatConditions(1).Interior #获取背景区域
inter.PatternColorIndex=\
xw.constants.ColorIndex.xlColorIndexAutomatic
inter.Color=xw.utils.rgb_to_int((0,255,0)) #背景色绿色亮显
inter.TintAndShade=0 #字体颜色的明暗程度
bk.save() #保存工作簿
bk.close() #关闭工作簿
app.kill() #关闭应用
在脚本窗口中选择Run→Run Module命令,运行脚本,结果如图9-13所示。数据中最大的5个数用红色表示,背景色为绿色。