Python openpyxl:读写样式Excel一条龙,测试报表必备!
off999 2025-07-28 19:39 3 浏览 0 评论
无论你是测试工程师、数据分析师,还是想批量导出 Excel 的自动化工作者,只需一个库 openpyxl,即可高效搞定 Excel 的各种需求!
为什么选择 openpyxl?
支持 .xlsx 格式完整读写
支持 字体/颜色/边框/合并/公式/冻结窗格等格式控制
原生 Python,稳定、轻量,适合做工具类脚本
Excel 不再只是“办公软件”,它是你的自动化输出终端!
变化总是在发生
加油每一位
快速创建 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")
实战:测试结果汇总写入 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)
- 自动发送邮件 + 附件
- 自动生成测试报告
如果你觉得有用,点赞关注不迷路,后续更新更多自动化测试经验,我们一起成长!欢迎评论区留言!
相关推荐
- Python Flask 容器化应用链路可观测
-
简介Flask是一个基于Python的轻量级Web应用框架,因其简洁灵活而被称为“微框架”。它提供了Web开发所需的核心功能,如请求处理、路由管理等,但不会强制开发者使用特定的工具或库。...
- Python GUI应用开发快速入门(python开发软件教程)
-
一、GUI开发基础1.主流GUI框架对比表1PythonGUI框架比较框架特点适用场景学习曲线Tkinter内置库,简单小型应用,快速原型平缓PyQt功能强大,商用许可专业级桌面应用陡峭PySi...
- 实战揭秘:Python Toga 打造跨平台 GUI 应用的神奇之旅
-
在Python的世界里,GUI(图形用户界面)开发工具众多,但要找到一款真正跨平台、易于使用且功能强大的工具并不容易。今天,我们就来深入探讨一下Toga——一款Python原生、操作系统原...
- python应用目录规划(python的目录)
-
Python大型应用目录结构规划(企业级最佳实践)核心原则模块化:按业务功能拆分,高内聚低耦合可扩展性:支持插件机制和动态加载环境隔离:清晰区分开发/测试/生产环境自动化:内置标准化的构建测试部署流...
- Python图形化应用开发框架:PyQt开发简介
-
PyQt概述定义:PyQt是Python绑定Qt框架的工具集,用于开发跨平台GUI应用程序原理:通过Qt的C++库提供底层功能,PyQt使用SIP工具生成Python绑定特点:支持Windows/ma...
- [python] 基于PyOD库实现数据异常检测
-
PyOD是一个全面且易于使用的Python库,专门用于检测多变量数据中的异常点或离群点。异常点是指那些与大多数数据点显著不同的数据,它们可能表示错误、噪声或潜在的有趣现象。无论是处理小规模项目还是大型...
- Python、Selenium 和 Allure 进行 UI 自动化测试的简单示例脚本
-
环境准备确保你已经安装了以下库:SeleniumAllurepytest你可以使用以下命令安装所需库:pipinstallseleniumallure-pytestpytest示例代码下面的代...
- LabVIEW 与 Python 融合:打造强大测试系统的利器
-
在现代测试系统开发领域,LabVIEW和Python各自凭借独特优势占据重要地位。LabVIEW以图形化编程、仪器控制和实时系统开发能力见长;Python则凭借丰富的库资源、简洁语法和强大数...
- 软件测试进阶之自动化测试——python+appium实例
-
扼要:1、了解python+appium进行APP的自动化测试实例;2、能根据实例进行实训操作;本课程主要讲述用python+appium对APP进行UI自动化测试的例子。appium支持Androi...
- Python openpyxl:读写样式Excel一条龙,测试报表必备!
-
无论你是测试工程师、数据分析师,还是想批量导出Excel的自动化工作者,只需一个库openpyxl,即可高效搞定Excel的各种需求!为什么选择openpyxl?支持.xlsx格式...
- Python + Pytest 测试框架——数据驱动
-
引言前面已经和大家介绍过Unittest测试框架的数据驱动框架DDT,以及其实现原理。今天和大家分享的是Pytest测试框架的数据驱动,Pytest测试框架的数据驱动是由pytest自...
- 这款开源测试神器,圆了我玩游戏不用动手的梦想
-
作者:HelloGitHub-Anthony一天我在公司用手机看游戏直播,同事问我在玩什么游戏?我和他说在看直播,他恍然大悟:原来如此,我还纳闷你玩游戏,咋不用动手呢。。。。一语惊醒梦中人:玩游戏不用...
- Python单元测试框架对比(pycharm 单元测试)
-
一、核心框架对比特性unittest(标准库)pytest(主流第三方)nose2(unittest扩展)doctest(文档测试)安装Python标准库pipinstallpytestp...
- 利用机器学习,进行人体33个2D姿态检测与评估
-
前几期的文章,我们分享了人脸468点检测与人手28点检测的代码实现过程,本期我们进行人体姿态的检测与评估通过视频进行人体姿势估计在各种应用中起着至关重要的作用,例如量化体育锻炼,手语识别和全身手势控制...
你 发表评论:
欢迎- 一周热门
- 最近发表
-
- Python Flask 容器化应用链路可观测
- Python GUI应用开发快速入门(python开发软件教程)
- 【MCP实战】Python构建MCP应用全攻略:从入门到实战!
- 实战揭秘:Python Toga 打造跨平台 GUI 应用的神奇之旅
- python应用目录规划(python的目录)
- Python图形化应用开发框架:PyQt开发简介
- [python] 基于PyOD库实现数据异常检测
- Python、Selenium 和 Allure 进行 UI 自动化测试的简单示例脚本
- LabVIEW 与 Python 融合:打造强大测试系统的利器
- 软件测试进阶之自动化测试——python+appium实例
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python字典遍历 (54)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python读取文件夹下所有文件 (59)
- java调用python脚本 (56)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)