openpyxl写入Excel的核心是创建/加载工作簿、获取工作表、通过坐标或行列赋值,必须调用wb.save()才能真正保存;支持新建、修改、批量写入及样式设置。
openpyxl 写入 Excel 表格的核心是:先创建或加载工作簿(Workbook),再获取工作表(Worksheet),最后通过单元格坐标(如 A1)或行列索引(如 row=2, column=3)赋值即可。不需要“保存”动作以外的额外提交步骤,但务必记得调用 wb.save() 才能真正写入文件。
适合从零开始生成 Excel 文件:
Workbook() 创建空白工作簿,默认带一个名为 Sheet 的工作表ws['A1'] = '标题' 或 ws.cell(row=2, column=3, value='内容') 写入单个单元格datetime 对象)、公式(以 = 开头的字符串)wb.save('output.xlsx'),否则数据只在内存中适合在原文件基础上追加或更新内容:
load_workbook('data.xlsx') 打开现有文件(注意:不能打开已打开的 Excel 文件,会报错)ws['B5'] = 100
read_only=True 可提升速度、节省内存wb.save('data.xlsx') —— 即使覆盖原文件也要显式保存提升效率和可读性的小技巧:
ws.append([1, 2, 3]) 追加一行;循环调用可写入多行from openpyxl.styles import Font, Alignment, Border, Side
ws['A1'].font = Font(bold=True);居中: ws['A1'].alignment = Alignment(horizontal='center')
基本上就这些。写入本身不复杂,但容易忽略保存、文件被占用、中文乱码(openpyxl 默认支持 UTF-8,一般无问题)这几个点。