在上篇推文《Python操作Excel的Xlwings教程(二)》中重点介绍了Xlwings中的App,Book等API知识点。本次推文将继续上次的知识点,将继续介绍Xlwings中Sheet和Range等API相关的知识,并展示一些小例子,让大家可以跟着教程进行学习。
顺便说一下,本人使用的Xlwings的版本号为:0.19.1
Xlwings中的Sheet对应的是Excel文件中的Sheet页,Range对应的是Excel文件的单元格,在Xlwings中Range在有些时候也表示一个选定的区域。当然在选定Range之前,我们是需要进行Sheet页的引用的。
一、Sheets
跟Apps和App的关系一样,所有的Sheet构成Sheets集合。
假设现在我们有一个Excel文件1.xlsx,它有两个Sheet页Shee1和Shee2,我们尝试进行以下的操作:
import xlwings as xw
wb = xw.Book('1.xlsx') #以xw.Book()方式打开工作簿
print(wb.sheets) #查看当前工作簿的所有Sheet详情
print(wb.sheets.active) #激活一个Sheet发现是Sheet2
# 在Sheet1前新增一个Sheet并命名
print(wb.sheets.add(name='Python知识学堂', before='Sheet1'))
# print(wb.sheets.add(name='Python知识学堂', 1))
print(wb.sheets.active) #激活Sheet页,这个Sheet是新增的
以上代码中的输出如下:
Sheets([<Sheet [1.xlsx]Sheet1>, <Sheet[1.xlsx]Sheet2>])
<Sheet [1.xlsx]Sheet2>
<Sheet [1.xlsx]Python知识学堂>
<Sheet [1.xlsx]Python知识学堂>
且打开的1.xlsx文件的Sheet页的详情如下截图:
所以我们总结出其中的两个操作:
# 返回激活(活动)工作表
wb.sheets.active
# 新增Sheet页,参数默认均为None,其中name为名称,before指在那个页签前插入,after为哪个页签之后插入。
wb.sheets.add(name= None,before = None,after = None)
二、Sheet
之前提及到所有的Sheet构成Sheets集合,这一小节我们