使用xlwings包简介

用xlwings创建Excel对象

使用xlwings包之前先导入它。下面在Python Shell窗口导入xlwings包。

code.python
>>> import xlwings as xw

创建一个Excel应用app:

code.python
>>> app=xw.App()

用books对象的add方法创建一个工作簿对象bk:

code.python
>>> bk=xw.books.add()

用sheets对象的add方法创建一个工作表对象sht:

code.python
>>> sht=bk.sheets.add()

设置工作表中A1单元格的值为10:

code.python
>>> sht.range("A1").value=10

xlwings的两种编程方式

xlwings包将win32com包一些常用的功能进行了二次封装,可以使用跟win32com不一样的语法,不太常用的功能用API的方式进行调用。实际上,使用API方式几乎可以完成所有的编程。所以,实际上xlwings包提供了两种编程方式,即用封装后的语法进行编程称为xlwings方式,还有一种就是xlwings API方式。例如要选择工作表中的A1单元格,可以使用这两种方式进行编程:

【xlwings】

code.python
>>> sht=bk.sheets(1)
>>> sht.range("A1").select()

【xlwings API】

code.python
>>> sht=bk.sheets(1)
>>> sht.api.Range("A1").Select()

注意,在Python中,变量、属性和方法的名称是有大小写区分的。在xlwings方式下,range属性和select方法都是小写的,是重新封装后的写法。在xlwings API方式下,在sht对象后面引用api,后面就可以使用VBA中的引用方式,Range属性和Select方法首字母都是大写。所以使用API方式可以使用大多数VBA的编程代码,懂VBA编程的同学可以很快就能上手。当然,使用xlwings方式会有一些编码、效率方面的好处,有一些扩展的功能。