在 Excel 2007 和 Excel 2010 以及 WPS 中,Excel 软件是多文档界面,一个 Excel 实例对应多个工作簿对象。而在 Excel 2013 及其以上以及 Excel 2003 中,一个 Excel 实例对应的是一个工作簿对象。我们需要理解 Excel 实例于工作簿对象的对应关系。如下是 Excel 2013 中的单文档界面。
![](https://img.haomeiwen.com/i1182605/d5f5a9eefa7a6037.png)
如果你打开了多个工作簿,那么每一个工作簿都对应一个 Excel 实例。
![](https://img.haomeiwen.com/i1182605/70dd05edb5077125.png)
再来看看 Excel 2007、Excel 2010 以及 WPS 中的多文档界面。
![](https://img.haomeiwen.com/i1182605/e4673ab7a2e92f49.png)
以上便是单文档界面和多文档界面的区别。因为有这些区别,所以我们在表示 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
![](https://img.haomeiwen.com/i1182605/e5dd6e6604816b4d.gif)
2.在单元格A1到B10中输入“xlwings-让Excel飞!”
![](https://img.haomeiwen.com/i1182605/f967481c90c86bb8.gif)
网友评论