用单元格对象的Name(name)属性获取或设置单元格或区域的名称。下面给单元格C3设置名称test,然后用该名称进行引用。[大谦Excel,dqexcel点com]
>>> cl=sht.Range("C3")
>>> cl.Name="test"
>>> sht.Range("test").Select()
也可以给区域设置名称,并用名称引用区域。下面给A3:C8区域命名为MyData,然后用该名称引用区域。
>>> cl =sht.Range("A3:C8")
>>> cl.Name = "MyData"
>>> sht.Range("MyData").Select()
使用单元格对象的AddComment方法给单元格添加批注。用该方法的Text属性设置批注的内容。
>>> sht.Range("A3").AddComment(Text="单元格批注")
使用单元格对象的Comment属性获取单元格的批注。它是一个Comment对象,有批注相关的若干属性,利用它们,可以对批注进行设置。Comments是工作簿中所有Comment对象的集合
下面用一个判断结构判断单元格A3中是否有批注。
>>> if sht.Range("A3").Comment is None:
Print("A3单元格中没有批注。")
else:
Print("A3单元格中已有批注。")
用Comment对象的Visible属性隐藏A3单元格中的批注:
>>> sht.Range("A3").Comment.Visible=False
>>> sht.Range('B3').Comment.Text('修改批注')
用Comment对象的Delete方法删除A3单元格中的批注:
>>> sht.Range("A3").Comment.Delete()
单元格对象的Font属性返回一个Font对象。利用Font对象的属性和方法,可以对单元格或区域中的文本进行字体设置。
下面的代码设置A1:E1区域内的字体样式:
>>> sht.Range("A1:E1").Font.Name = "宋体" #设置字体为宋体
>>> sht.Range("A1:E1").Font.ColorIndex = 3 #设置字体颜色为红色
>>> sht.Range("A1:E1").Font.Size = 20 #设置字号为20号
>>> sht.Range("A1:E1").Font.Bold = True #设置字体加粗
>>> sht.Range("A1:E1").Font.Italic = True #设置字体倾斜显示
>>> sht.Range("A1:E1").Font.Underline=constants.xlUnderlineStyleDouble #给文字添加双下划线
设置效果如图2-15所示。
图2-15 单元格区域中的字体设置
下划线样式的设置,参见表2-4。
表2-4 下划线样式的设置
| 名 称 | 值 | 说 明 |
|---|---|---|
| xlUnderlineStyleDouble | -4119 | 粗双下划线。 |
| xlUnderlineStyleDoubleAccounting | 5 | 紧靠在一起的两条细下划线。 |
| xlUnderlineStyleNone | -4142 | 无下划线。 |
| xlUnderlineStyleSingle | 2 | 单下划线。 |
| xlUnderlineStyleSingleAccounting | 4 | 不支持。 |
关于字体颜色的设置,有几种设置方法。
第1种是设置为RGB颜色。即用红色、绿色和兰色分量来定义颜色。使用Font对象的Color属性进行设置。进行RGB着色是用给定的红色、绿色和兰色分量指定颜色,实际是用各分量组成一个整数,然后将该数设置给RGB属性。
>>> r=255
>>> g=0
>>> b=0
>>> bgr=(b,g,r) #用颜色分量组成元组,注意反序
>>> xv='%02x%02x%02x' % bgr #16进制表示的字符串
>>> iv=int(xv,16) #转换为整数
>>> fnt.TextColor.RGB=iv #将整数设置给RGB属性
也可以直接将一个表示颜色的整数,也就是xw.utils.rgb_to_int()函数的结果赋给Color属性。
>>> sht.Range("A3:E3").Font.Color =16711680 # 或0x0000FF
第2种方法是使用索引着色。此时需要有一张颜色查找表,如图2-16所示。预定义了很多颜色,而且每个颜色都有一个唯一的索引号。进行索引着色时,将某个索引号指定给Font对象的ColorIndex属性就可以了。
图2-16 索引着色的颜色查找表
下面将A1:E1区域内的字体颜色设置为红色:
>>> sht.Range("A1:E1").Font.ColorIndex = 3
第3种方法是使用主题颜色。系统预定义了很多主题颜色,可以便捷地使用它们进行字体着色。每个主题颜色有对应的整数编号,将必要的编号指定给Font对象的ThemeColor属性即可。
下面将A3:E3区域内的字体颜色设置为淡兰色:
>>> sht.Range("A3:E3").Font.ThemeColor =5