标签:#Python办公自动化 #openpyxl #Excel处理 #报表自动化 #职场效率工具
前言
职场工作中,大量时间消耗在Excel重复操作:复制粘贴数据、批量修改格式、统计汇总、生成周报月报、多表格合并、批量填充模板。手动操作不仅耗时,还容易出现人为错误。
Python办公自动化可以把重复性表格工作脚本化,几分钟完成几小时的手工工作量。
本套系列主打真实职场实战,从Excel读写、格式美化、公式计算,到Word、PPT、邮件自动化,全部提供可直接复制运行的代码,零基础也能上手。
本篇第一篇,我们学习最主流的 openpyxl 库,专门处理xlsx格式Excel,支持读写、修改样式、插入公式,是办公自动化首选库。
一、openpyxl库安装
openpyxl仅支持 .xlsx / .xlsm 格式,不支持旧版 .xls 文件。
pip install openpyxl -i https://pypi.tuna.tsinghua.edu.cn/simple核心概念简单理解:
Workbook:整个Excel工作簿(就是一个excel文件)
Worksheet:工作表(Sheet1、Sheet2)
Cell:单元格,行号数字,列可以数字或者字母
二、读取已有Excel文件
示例:读取本地员工表 data.xlsx,获取工作表、读取单元格、遍历行数据。
评论区输入data.xlsx,即可获得相关文件。
关键参数说明
values_only=True:只拿到单元格数值,不返回单元格对象,日常读数据必开; min_row可以指定从第几行开始,跳过表头非常实用。
三、新建Excel,写入数据保存文件
运行完成,当前文件夹就会生成 output.xlsx。
四、修改已有表格,追加、更新单元格内容
⚠️注意:打开表格修改完成必须执行save保存,否则改动不会写入文件。操作过程中Excel文件不要手动打开占用,会报权限错误。
五、设置单元格字体、颜色、边框样式
报表自动化少不了美化表头,openpyxl支持字体、字号、颜色、边框、对齐方式。
六、插入Excel公式
可以直接写入Excel原生公式字符串,打开表格会自动计算。
注意:公式是字符串,直接写等号开头;脚本读取时拿到的是公式文本,打开Excel软件才会渲染计算结果。
七、实战小案例:批量筛选工资大于8000的数据导出新表
八、高频踩坑避坑清单
❌坑1:文件正在被Excel软件打开,运行脚本报错 PermissionError 👉处理:关闭Excel再运行脚本。
❌坑2:打开旧版.xls文件报错 👉openpyxl不支持xls,旧xls需要用xlrd库读取。
❌坑3:修改表格运行完,打开Excel看不到变化 👉忘记调用 wb.save(),改动全部留在内存。
❌坑4:中文乱码 👉openpyxl原生支持xlsx中文,一般不会乱码,保存直接用xlsx后缀。
❌坑5:读取出来数字是None 👉单元格本身为空;确认min_row、max_row范围正确。
文末结语
openpyxl是做Excel自动化最实用工具,适合绝大多数职场报表场景:数据导出、模板填充、批量筛选统计、格式美化。
掌握基础读写之后,就可以把你日常重复的表格工作改写成脚本,一键生成结果,大幅减少加班做表时间。
建议把本篇代码复制本地,替换自己的Excel文件名直接调试运行。