01.xlwings 抽象的 Excel 对象

2017-04-03  本文已影响792人  大道至简峰

在 Excel 2007 和 Excel 2010 以及 WPS 中,Excel 软件是多文档界面,一个 Excel 实例对应多个工作簿对象。而在 Excel 2013 及其以上以及 Excel 2003 中,一个 Excel 实例对应的是一个工作簿对象。我们需要理解 Excel 实例于工作簿对象的对应关系。如下是 Excel 2013 中的单文档界面。

Excel 中的常用对象

如果你打开了多个工作簿,那么每一个工作簿都对应一个 Excel 实例。

单文档界面,一个实例对应一个工作簿对象

再来看看 Excel 2007、Excel 2010 以及 WPS 中的多文档界面。

多文档界面,一个实例对应多个工作簿对象

以上便是单文档界面和多文档界面的区别。因为有这些区别,所以我们在表示 Excel 对象的时候也有一些区别。具体的区别如下:

xlwings对象 对应 Excel 中的对象
xw.App() 一个 Excel 实例对象
xw.apps 打开的 Excel 实例集合
xw.apps[i] 打开的第 i 个 Excel 实例
xw.apps(i) 打开的第 i 个 Excel 实例
xw.apps[i].books 第 i 个 Excel 实例的工作簿集合
xw.apps[i].books[i] 第 i 个 Excel 实例的第 j(如果是单文档界面则 i = 0) 个工作簿
xw.app[i].books[i].sheets 第 i 个 Excel 实例的第 i(如果是单文档界面则 i = 0) 个工作簿的工作表集合
xw.app[i].books[i].sheets[i] 第 i 个 Excel 实例的第 i(如果是单文档界面则 j = 0) 个工作簿的第 i 个工作表
xw.app[i].boos[i].sheets[i].cells 第 i 个 Excel 实例的第 i(如果是单文档界面则 j = 0) 个工作簿的第 i 个工作表的所有单元格
xw.app[i].boos[i].sheets[i].cells(i,j) 第 i 个 Excel 实例的第 i(如果是单文档界面则 j = 0) 个工作簿的第 i 个工作表的第i行的第j列单元格
xw.app[i].boos[i].sheets[i].range("A1:B10") 第 i 个 Excel 实例的第 i(如果是单文档界面则 j = 0) 个工作簿的第 i 个工作表的“A1”到“B10”单元格区域
xw.Range("A1:B10") 当前正在操作的工作表的“A1”到“B10”单元格区域

注意:在本系列文章中,我们总是以单文档界面为例。

练习

1.打开一个空白的 Excel 工作簿,并在A1单元格中写入数字1


练习1

2.在单元格A1到B10中输入“xlwings-让Excel飞!”


练习2
上一篇 下一篇

猜你喜欢

热点阅读