與工作簿建立聯繫

當我們針對目前使用中的工作表讀取或寫入時,你可以直接使用 xw.Range() ,不需要另外指定 book 物件。

>>> import xlwings as xw
>>> xw.Range('A1').value = 'something'

用 Python 操作 Excel

建立與一個工作簿的聯繫最簡單的方式,是透過 xw.Book():該物件會根據使用者輸入的名稱搜尋並開啓特定的工作簿,若無指定名稱,便會建立一個新的工作簿並與之建立聯繫。 若使用當下有多個被開啓的工作簿,則可透過 xw.books 讀取被開啓工作簿的集合:

>>> app = xw.App()  # or something like xw.apps[10559] for existing apps, get the available PIDs via xw.apps.keys()
>>> app.books['Book1']
  xw.Book xw.books
新工作簿 xw.Book() xw.books.add()
尚未儲存的工作簿 xw.Book('Book1') xw.books['Book1']
根據路徑開啓的工作簿 xw.Book(r'C:/path/to/file.xlsx') xw.books.open(r'C:/path/to/file.xlsx')

備註

在 Windows 作業系統下指定檔案路徑時,爲了避免反斜線符號()被誤認成跳脫字元,你應該使用 Python 的原始字串,在字串的前面加上 r,或是在字串内容所有的反斜線前面加上另一個反斜線,像是:C:\\path\\to\\file.xlsx

用 Excel 操作 Python (RunPython)

若要透過 VBA 的 RunPython 函數參照到呼叫該函數的工作簿時,可以使用 xw.Book.caller()。詳細可以參考 Call Python with 「RunPython」 的。你可以參考 Debugging 了解要如何透過 Python 與 VBA 兩邊去呼叫一個 Python 脚本。

使用者自定函數(UDFs)

Unlike RunPython, UDFs don’t need a call to xw.Book.caller(), see User Defined Functions (UDFs). However, it’s available (restricted to read-only though), which sometimes proves to be useful.