openpyxl通过Workbook、Worksheet、Cell三层结构操作.xlsx文件,纯Python实现无需Excel软件;新建用Workbook(),加载用load_workbook(),保存需调用save();支持坐标与行列索引访问单元格(索引从1开始),可批量append数据;样式需导入Font、PatternFill等类设置。

用 openpyxl 读写 Excel 文件,核心是理解工作簿(Workbook)、工作表(Worksheet)和单元格(Cell)三层结构。它不依赖 Excel 软件,纯 Python 实现,适合自动化处理 .xlsx 文件。
创建与加载工作簿
新建空工作簿直接调用 Workbook();加载已有文件用 load_workbook()。注意:加载时默认只读模式会更快,如需修改必须关闭只读(read_only=False,也是默认值)。
- 新建:
wb = Workbook(),此时自动带一个名为 "Sheet" 的工作表 - 加载:
wb = load_workbook("data.xlsx") - 保存:
wb.save("output.xlsx")(路径不存在会报错,需确保目录存在)
操作工作表
通过 wb.active 获取当前激活表,或用 wb["Sheet1"] 按名获取。新增表用 wb.create_sheet("NewTab"),删除用 wb.remove(wb["OldTab"])。
- 重命名表:
ws.title = "汇总" - 查看所有表名:
wb.sheetnames - 切换活跃表:
wb.active = wb["明细"]
读写单元格数据
单元格支持坐标(如 "A1")和行列索引(如 row=2, column=3)两种访问方式,索引从 1 开始(不是 0)。
易优微信教育培训小程序模板是基于前端开源小程序+后端易优cms+标签化API接口,是一套开源、快速搭建个性化需求的小程序CMS。轻量级TP底层框架,前后端分离,标签化API接口可对接所有小程序,支持二次开发。即使小白用户也能轻松搭建制作一套完整的线上版小程序。 微信教育培训小程序模板主要特点:1、代码开源,支持二次修改2、微信原生写法,兼容性更好,代码可读性更强3、功能接口完整,支持eyoucms
立即学习“Python免费学习笔记(深入)”;
- 写入:
ws["B2"] = "销售额"或ws.cell(row=2, column=2, value="销售额") - 读取:
value = ws["C5"].value或value = ws.cell(5, 3).value - 批量写入列表:用
ws.append([1, "张三", 85])追加一行(自动换行)
样式与格式(简用)
openpyxl 支持字体、边框、填充色等基础样式,但不支持公式计算或图表渲染。常用样式需导入对应类。
- 加粗字体:
from openpyxl.styles import Font; ws["A1"].font = Font(bold=True) - 设置背景色:
from openpyxl.styles import PatternFill; fill = PatternFill("solid", fgColor="FFFF00"); ws["B1"].fill = fill - 调整列宽:
ws.column_dimensions["C"].width = 20
不复杂但容易忽略:保存前务必调用 .save();读取时若文件正被 Excel 打开,会因占用而报错;写入数字时无需转字符串,openpyxl 自动识别类型。









