Top10

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个数用红色表示,背景色为绿色。