图标集

图标集用不同数量和类型的图标集来表示数据。数据集图标的种数表示将数据分成几类,比如把成绩分成三类,大于等于85的一类,小于60的一类,中间的一类,则图标集中有3种图标。图标集还有箭头、形状等不同种类。代码如下所示:

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.AddIconSetCondition()  #添加图标集
rng.FormatConditions(1).IconSet=\
      bk.api.IconSets(xw.constants.IconSet.xl3Arrows)  #3种箭头
rng.FormatConditions(1).IconCriteria(2).Type=\
      xw.constants.ConditionValueTypes.xlConditionValuePercent
rng.FormatConditions(1).IconCriteria(2).Value=33
rng.FormatConditions(1).IconCriteria(2).Operator=\
      xw.constants.FormatConditionOperator.xlGreaterEqual  #大于等于33%
rng.FormatConditions(1).IconCriteria(3).Type=\
      xw.constants.ConditionValueTypes.xlConditionValuePercent
rng.FormatConditions(1).IconCriteria(3).Value=67
rng.FormatConditions(1).IconCriteria(3).Operator=\
      xw.constants.FormatConditionOperator.xlGreaterEqual  #大于等于67%
bk.save()    #保存工作簿
bk.close()    #关闭工作簿
app.kill()    #关闭应用

在脚本窗口中选择Run→Run Module命令,运行脚本,结果如图9-12所示。首先将数据从小到大排列,将小于33%分位数的数用红色向下的箭头表示;将剩下的数中小于67%分位数的数用黄色向右的箭头表示,大于67%分位数的数用绿色向上的箭头表示。

Document Image Document Image

图9-12 使用图标集合 图9-13 标注最大的5个数