在 Excel 2007 和 Excel 2010 以及 WPS 中卵惦,Excel 軟件是多文檔界面,一個 Excel 實例對應多個工作簿對象。而在 Excel 2013 及其以上以及 Excel 2003 中,一個 Excel 實例對應的是一個工作簿對象挤土。我們需要理解 Excel 實例于工作簿對象的對應關系。如下是 Excel 2013 中的單文檔界面煤蚌。
如果你打開了多個工作簿耕挨,那么每一個工作簿都對應一個 Excel 實例。
再來看看 Excel 2007筒占、Excel 2010 以及 WPS 中的多文檔界面。
以上便是單文檔界面和多文檔界面的區(qū)別翰苫。因為有這些區(qū)別,所以我們在表示 Excel 對象的時候也有一些區(qū)別这橙。具體的區(qū)別如下:
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”單元格區(qū)域 |
xw.Range("A1:B10") | 當前正在操作的工作表的“A1”到“B10”單元格區(qū)域 |
注意:在本系列文章中奏窑,我們總是以單文檔界面為例。
練習
1.打開一個空白的 Excel 工作簿屈扎,并在A1單元格中寫入數(shù)字1
2.在單元格A1到B10中輸入“xlwings-讓Excel飛埃唯!”