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')