无论你是测试工程师、数据分析师,还是想批量导出 Excel 的自动化工作者,只需一个库 openpyxl,即可高效搞定 Excel 的各种需求!
为什么选择 openpyxl?
✅ 支持 .xlsx 格式完整读写
✅ 支持 字体/颜色/边框/合并/公式/冻结窗格等格式控制
✅ 原生 Python,稳定、轻量,适合做工具类脚本
✅ Excel 不再只是“办公软件”,它是你的自动化输出终端!

openpyxl
变化总是在发生
加油每一位
快速创建 Excel 文件(含样式)
from openpyxl import Workbook
from openpyxl.styles import Font, Alignment
wb = Workbook()
ws = wb.active
ws.title = "全国居民人均收入情况"
# 表头
ws.append(["指标", "2025年第一季度", "2024年第四季度", "2024年第三季度", "2024年第二季度"])
for cell in ws[1]:
cell.font = Font(bold=True)
cell.alignment = Alignment(horizontal="center")
# 数据行
ws.append(["居民人均可支配收入累计值(元)", 12179, 41314, 30941, 20733])
ws.append(["居民人均可支配收入累计增长(%)", 5.6, 5.1, 4.9, 5.3])
wb.save("全国居民人均收入情况.xlsx")
✅ 创建完成后打开 项目预算.xlsx,你会看到带样式的 Excel 表格!

读取已有 Excel 数据
from openpyxl import load_workbook
wb = load_workbook("全国居民人均收入情况.xlsx")
ws = wb["全国居民人均收入情况"]
for row in ws.iter_rows(min_row=2, values_only=True):
print(row)
输出示例:
('居民人均可支配收入累计值(元)', 12179, 41314, 30941, 20733)
('居民人均可支配收入累计增长(%)', 5.6, 5.1, 4.9, 5.3)
可以用它来读取测试结果、日志汇总、接口返回数据。
✨ 实战技巧集锦(提议收藏)

样式设置完整示例(带边框、颜色)
from openpyxl import Workbook
from openpyxl.styles import Font, Alignment
from openpyxl.styles import Border, Side, PatternFill
wb = Workbook()
ws = wb.active
ws.title = "全国居民人均收入情况"
# 表头
ws.append(["指标", "2025年第一季度", "2024年第四季度", "2024年第三季度", "2024年第二季度"])
for cell in ws[1]:
cell.font = Font(bold=True)
cell.alignment = Alignment(horizontal="center")
# 数据行
ws.append(["居民人均可支配收入累计值(元)", 12179, 41314, 30941, 20733])
ws.append(["居民人均可支配收入累计增长(%)", 5.6, 5.1, 4.9, 5.3])
# 设置边框
thin = Side(border_style="thin", color="000000")
border = Border(left=thin, right=thin, top=thin, bottom=thin)
# 设置背景色
fill = PatternFill(fill_type="solid", start_color="C6EFCE")
for row in ws.iter_rows(min_row=2, max_row=3, min_col=2, max_col=5):
for cell in row:
cell.border = border
cell.fill = fill
wb.save("全国居民人均收入情况.xlsx")
用于:测试报告可视化 / 表格高亮 / 自动报表生成等场景。

带边框、颜色
多 Sheet 写入示例
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
ws.title = "全国居民人均收入情况"
sheet1 = wb.active
sheet1.title = "居民人均可支配收入累计值(元)"
sheet2 = wb.create_sheet("居民人均可支配收入累计增长(%)")
sheet1.append(["指标", "季度"])
sheet2.append(["指标", "涨幅"])
wb.save("全国居民人均收入情况_多sheet.xlsx")

多 Sheet 写入
✅ 实战:测试结果汇总写入 Excel
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
data = [
["task_id", "结果", "apk", "MD5"],
["33", "合规", "西平部落", "6062ea470914341b0f05781389c02b60"],
["186", "不合规", "微达家联网", '6c195026c735b724a3cd47370f65bdf8']
]
for row in data:
ws.append(row)
wb.save("检测结果.xlsx")
可以在接口自动化、pytest hook 后自动导出。
使用场景推荐
- ✅ 接口测试结果 → 自动汇总导出为 Excel
- ✅ 每日定时跑脚本 → 输出日志、统计表
- ✅ 渠道运营数据 → 自动生成数据报表
- ✅ Excel 模板生成 → 财务预算、日报、审计记录
福利打包:实用 openpyxl 小工具
你可以封装为如下函数方便调用:
def write_excel(file, sheet, data):
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
ws.title = sheet
for row in data:
ws.append(row)
wb.save(file)
使用
# 数据写入
data = [
["评估项", "结果", "数量"],
["个人信息处理原则", "不合规", 687],
["未按法律规定提供删除或更正个人信息功能或未公布投诉、举报方式等信息", "不合规", 497],
["未经用户同意收集使用个人信息", "不合规", 437],
["未公开收集使用规则", "不合规", 320],
["未明示收集使用个人信息的目的、方式和范围", "不合规", 212],
["未经同意向他人提供个人信息", "不合规", 73],
["违反必要原则,收集与其提供的服务无关的个人信息", "不合规", 62],
["个人信息处理活动中的个人权利", "不合规", 33],
]
write_excel("test.xlsx", "评估结果", data)
如果你对接下来想看:
- Word 自动生成报告(python-docx)
- 自动发送邮件 + 附件
- 自动生成测试报告
如果你觉得有用,点赞关注不迷路,后续更新更多自动化测试经验,我们一起成长!欢迎评论区留言!
© 版权声明
文章版权归作者所有,未经允许请勿转载。如内容涉嫌侵权,请在本页底部进入<联系我们>进行举报投诉!
THE END

















- 最新
- 最热
只看作者