Excel对象模型是与Excel图形界面有关的对象组成的层次体系,有了Excel对象模型,Python可以通过编程控制Excel并与之交互操作。
关于Excel对象模型的更多内容
前面各章节介绍Python语法时举了很多实例,这些实例需要从Excel工作表读取数据,或者处理完数据后将结果写入Excel工作表,所以,不可避免地涉及到与Excel对象模型有关的操作。第3章简单介绍了一些,在数组、列表等章节介绍了更多操作。
本章对Excel对象模型中的4大对象进行比较系统的介绍,包括对象常见属性和方法的使用如单元格区域的背景设置、字体设置等;比较常见的操作如单元格区域的索引、选择、复制和粘贴等;数据处理方法如数据排序、过滤和汇总等。
Python xlwings包的两种编程方式
本书结合Python的xlwings包介绍Excel对象模型。xlwings包提供了两种编程方式,第一种称为Python xlwings API方式,它实际上是一种类VBA的编程方式,使用的语法与VBA的基本相同,熟悉VBA语法的同学很容易掌握;另一种是在对win32com包进行二次封装后使用的新语法,称为Python xlwings方式,它封装了一些比较常用的功能,缺失的功能可以通过使用API函数进行弥补。
例如要选择工作表中的A1单元格,可以使用这两种方式进行编程:
【Python xlwings】
>>> sht=bk.sheets(1)
>>> sht.range("A1").select()
【Python xlwings API】
>>> sht=bk.sheets(1)
>>> sht.api.Range("A1").Select()
注意,在Python中,变量、属性和方法的名称是有大小写区分的。在Python xlwings方式下,range属性和select方法都是小写的,是重新封装后的写法。在Python xlwings API方式下,在sht对象后面引用api,后面就可以使用VBA中的引用方式,Range属性和Select方法首字母都是大写。所以使用API方式可以使用大多数VBA的编程代码,懂VBA编程的同学很快就能上手。当然,使用Python xlwings方式会有一些编码、效率方面的好处,有一些扩展的功能。
本章后面的讲解过程中,对于每个知识点,会尽可能地列出Excel VBA, Python xlwings和Python xlwings API等3种编程方式,便于大家对比学习。如果没有提供Python xlwings方式,说明对应功能可能没有封装到新语法。