工作薄

工作簿对象是工作表对象的父对象,是对现实办公场景中文件夹的抽象和模拟。一个工作簿中可以有一个或多个工作表。使用工作簿对象的属性和方法,可以对工作簿进行设置和操作。

创建、保存和关闭工作薄

使用OpenPyXL包进行工作之前,需要导入它,即

code.python
>>> import openpyxl as pyxl

然后引用Workbook方法创建新的工作簿。

code.python
>>> wb = pyxl.Workbook()

也可以直接从OpenPyXL包中导入Workbook模块,即

code.python
>>> from openpyxl import Workbook
>>> wb = Workbook()

新创建的工作簿中会自动包含一个名为Sheet的工作表。

下面将工作簿的数据保存到当前工作目录下的test.xlsx文件中:

code.python
>>> wb.save("test.xlsx")

注意:使用OpenPyXL编程时,所有操作只有在保存文件后打开它才能看到操作的结果。

使用下面的代码可以获取当前工作目录及其路径:

code.python
>>> import os
>>> path=os.getcwd()
>>> path
"C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python37"

也可以指定一个完整的路径:

code.python
>>> wb.save(r"D:\test.xlsx")

设置工作簿对象的template属性的值为True,可以将当前工作簿保存为模板,模板文件的扩展名为xltx:

code.python
>>> wb.template = True
>>> wb.save("temp.xltx")

使用工作簿对象的close方法关闭工作簿:

code.python
>>> wb.close()

打开已有的工作薄文件

使用load_workbook函数可以打开已经存在的工作簿文件。首先从OpenPyXL包导入该函数:

code.python
from openpyxl import load_workbook

该函数的语法格式为:

code.python
wb=openpyxl.load_workbook(filename,read_only,keep_vba,guess_types,\
data_only,keep_links)

其中,

• filename: string类型,表示要打开的文件的路径和文件名。

• read_only: 布尔型,表示只读。对于超大型文件,设置为只读可以节省内存。

• keep_vba: 布尔型,用于带VBA宏的文件,值为True时保留VBA代码。

• guess_types: 布尔型,指定从工作表读取数据时,是否作类型判断。

• data_only: 布尔型,指定包含公式的单元格中是否显示最近计算结果。

• keep_links: 布尔型,指定是否保留外部链接。

该函数返回一个工作簿对象。

下面从OpenPyXL包中导入load_workbook,然后用load_workbook函数打开当前工作目录下的文件test.xlsx。

code.python
>>> from openpyxl import load_workbook
>>> wb = load_workbook("test.xlsx")