OpenPyXL

OpenPyXL 是一個用於在記憶體中操作和建立 xlsx/xlsm/xltx/xltm 工作簿的模組。

操作和閱讀現有工作簿:

import openpyxl as opx
#To change an existing wookbook we located it by referencing its path
workbook = opx.load_workbook(workbook_path)

load_workbook() 包含引數 read_only,設定為 True 會將工作簿載入為 read_only,這在讀取較大的 xlsx 檔案時很有用:

workbook = opx.load_workbook(workbook_path, read_only=True)

將工作簿載入到記憶體後,可以使用 workbook.sheets 訪問單個工作表

first_sheet = workbook.worksheets[0]

如果要指定可用工作表的名稱,可以使用 workbook.get_sheet_names()

sheet = workbook.get_sheet_by_name('Sheet Name')

最後,可以使用 sheet.rows 訪問工作表的行。要迭代工作表中的行,請使用:

for row in sheet.rows:
    print row[0].value

由於 rows 中的每個 row 都是 Cell 的列表,因此使用 Cell.value 來獲取 Cell 的內容。

在記憶體中建立新工作簿:

#Calling the Workbook() function creates a new book in memory
wb = opx.Workbook()

#We can then create a new sheet in the wb
ws = wb.create_sheet('Sheet Name', 0) #0 refers to the index of the sheet order in the wb

可以通過 openpyxl 更改多個選項卡屬性,例如 tabColor

ws.sheet_properties.tabColor = 'FFC0CB'

為了儲存我們建立的工作簿,我們完成了:

wb.save('filename.xlsx')