OpenPyXL 是一个功能强大的第三方 Python 库,用于读取、写入与编辑 Excel 文件(.xlsx 格式)。

它可以创建新工作簿、修改单元格内容、设置样式、合并单元格、插入图表等,是进行 Excel 自动化处理的核心工具之一。

安装 :

pip install openpyxl

常见应用场景:

(1)创建与编辑 Excel 文件

从零创建工作簿,编写表格数据,保存为 .xlsx 文件。

(2)数据读取与分析

读取指定单元格、行列数据或整张表的内容。

(3)格式化与样式控制

支持字体、颜色、边框、对齐方式、合并单元格、行高列宽等格式调整。

(4)公式与图表支持

可在单元格中写入公式,插入折线图、柱状图等。

(5)批量报表与数据导出

常用于报表生成、数据统计或自动导出 Excel 文件。

◆ ◆

核心概念

1、工作簿(Workbook)

Excel 文件的整体对象,可包含多个工作表。

2、工作表(Worksheet)

每个工作表是一张表格,通过 wb.active 或 wb[sheet_name] 获取。

3、单元格(Cell)

Excel 的最小数据单元,可通过 ws["A1"] 或 ws.cell(row, column) 访问。

4、数据读写

写入:cell.value = ...

读取:value = cell.value

5、样式与格式

使用 openpyxl.styles 模块设置字体、颜色、对齐方式等。

6、保存与加载

使用 Workbook.save() 保存文件,load_workbook() 打开已有文件。

◆ ◆

应用举例

例 1:创建 Excel 文件并写入数据

wb.save("students.xlsx")

生成文件 students.xlsx,包含表头与两行数据。

例 2:读取已有 Excel 文件

    print(row)

输出:

('李四', 85)

例 3:设置单元格样式

单元格 A1 将以蓝色加粗大号字体居中显示。

例 4:合并单元格与设置列宽

wb.save("merged.xlsx")

例 5:写入公式与插入图表

wb.save("chart.xlsx")

◆ ◆

常用函数与类速览

Workbook()

创建一个新的工作簿对象。

返回:Workbook 实例对象。

Workbook.active

获取当前活动工作表。

返回:Worksheet 对象。

Workbook.create_sheet(title=None)

创建新的工作表。

参数

title:工作表名称(可选)。

返回:新创建的 Worksheet 对象。

Workbook.save(filename)

将工作簿保存为指定文件。

参数

filename:输出文件名(含路径)。

返回:无。

load_workbook(filename)

加载一个现有的 Excel 文件。

参数

filename:Excel 文件路径。

返回:Workbook 对象。

Worksheet.append(iterable)

在工作表末尾追加一行数据。

参数

iterable:可迭代对象(如列表、元组)。

返回:无。

Worksheet.iter_rows(values_only=False)

按行迭代工作表内容。

参数

values_only:若为 True,仅返回单元格值。

返回:生成器对象。

Worksheet.merge_cells(range_string)

合并指定区域的单元格。

参数

range_string:合并范围(如 "A1:C1")。

返回:无。

Worksheet.column_dimensions

设置列宽或访问列属性。

返回:DimensionHolder 对象。

Cell.value

访问或设置单元格的值。

参数:无(属性访问)。

返回:单元格中的内容。

openpyxl.chart.BarChart()

创建柱状图对象,可用于插入 Excel 图表。

返回:BarChart 实例对象。

◆ ◆

补充说明

1、OpenPyXL 仅支持 Excel 2007 及以上版本的 .xlsx 格式,不支持旧版 .xls。

2、它支持 Pandas DataFrame 导出(通过 df.to_excel() 内部调用 openpyxl)。

3、当需要操作大型文件时,可使用 read_only=True 模式优化性能。

4、若需写入超大数据量,可结合 write_only=True 模式逐行写入,节省内存。

小结

OpenPyXL 是 Python 操作 Excel 的事实标准库,集数据处理、格式控制与可视化于一体。

无论是办公自动化、报表生成还是科学计算,OpenPyXL 都能提供稳定而强大的支持。

打开网易新闻 查看精彩图片

点赞有美意,赞赏是鼓励