登录
首页 >  文章 >  python教程

openpyxl写入Excel教程详解

时间:2026-02-18 15:26:50 399浏览 收藏

本文详细讲解了使用 openpyxl 库高效写入 Excel 表格的完整流程,涵盖从零创建新工作簿、加载并修改现有文件两大核心场景,清晰说明如何通过单元格坐标(如 A1)或行列索引精准赋值,支持文本、数字、日期、公式等多种数据类型;同时强调了关键实操要点——必须显式调用 `wb.save()` 才能真正保存,避免因忽略该步骤导致数据丢失,并补充了批量写入(如 `append()`)、基础样式设置(字体、对齐、边框)等提升效率与可读性的实用技巧,帮助读者避开文件占用、保存遗漏等常见坑点,快速上手专业级 Excel 自动化处理。

openpyxl如何写入excel表格

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,一般无问题)这几个点。

今天关于《openpyxl写入Excel教程详解》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>