如何将多工作表XLSX转换为JSON、XML等可存入Git仓库的格式
可行转换方案
完全可以将该多工作表XLSX文件转换为JSON/XML等纯文本格式,既支持Git上传存储,也可以直接在Spring Boot测试逻辑中读取使用,以下是两种常用实现方案:
方案1:本地单次转换(适合测试数据不频繁变动的场景)
可通过Python脚本快速完成转换,仅需本地执行一次即可生成目标文件:
- 首先安装依赖库:
pip install openpyxl - 执行以下转换脚本,即可生成保留完整工作表结构的JSON文件:
from openpyxl import load_workbook import json # 加载源Excel文件 wb = load_workbook("src/main/resources/File.xlsx") export_data = {} # 遍历所有工作表 for sheet_name in wb.sheetnames: sheet = wb[sheet_name] sheet_data = [] # 读取表头 headers = [cell.value for cell in next(sheet.iter_rows(min_row=1, max_row=1))] # 逐行读取数据并映射为键值对 for row in sheet.iter_rows(min_row=2, values_only=True): sheet_data.append(dict(zip(headers, row))) export_data[sheet_name] = sheet_data # 导出为JSON文件 with open("src/main/resources/test_data.json", "w", encoding="utf-8") as f: json.dump(export_data, f, ensure_ascii=False, indent=2)
- 生成的
test_data.json为纯文本格式,直接存入原路径即可正常推送到Git仓库,同时支持Git的版本diff能力,方便查看测试数据的变动历史。
方案2:集成到项目测试逻辑(适合测试数据频繁调整的场景)
- 转换后的JSON文件可直接作为测试数据源,Spring Boot中可以通过Jackson直接读取JSON内容,相比读取Excel的逻辑更轻量,测试执行效率更高
- 后续调整测试数据时,直接修改JSON的文本内容即可,无需再操作Excel文件,也避免了二进制文件无法追溯版本变动的问题
- 若需要保留Excel的格式、公式等特殊属性,可将转换逻辑调整为输出XML格式,同样支持Git存储和版本比对。
注意事项
- 转换时注意校验表头和字段映射关系,避免测试数据读取时出现字段不匹配的问题
- 若原本项目中写了读取Excel的测试逻辑,仅需调整少量代码适配JSON/XML读取逻辑即可,无需修改核心测试流程。
内容的提问来源于stack exchange,提问作者Sagnik Chatterjee
相关产品推荐
相关产品推荐

