Web管理后台的 /admin/test 页面现在支持测试所有API接口,包括Excel操作、文件管理、模板功能和系统接口。
- 方法: POST
- 需要Token: 是
- 示例请求:
{
"fileName": "test.xlsx",
"sheetName": "Sheet1",
"cells": [
{"cellAddress": "A1", "value": "姓名", "valueType": "STRING"},
{"cellAddress": "B1", "value": "分数", "valueType": "STRING"},
{"cellAddress": "A2", "value": "张三", "valueType": "STRING"},
{"cellAddress": "B2", "value": 85, "valueType": "NUMBER"},
{"cellAddress": "B4", "value": "=AVERAGE(B2:B3)", "valueType": "FORMULA"}
]
}- 方法: POST
- 需要Token: 是
- 示例请求:
{
"fileName": "test.xlsx",
"sheetName": "Sheet1",
"cells": [
{"cellAddress": "A1"},
{"cellAddress": "B2"},
{"cellAddress": "B4"}
],
"readFormula": false
}- 方法: POST
- 需要Token: 是
- 说明: 组合操作,先写入数据再读取,适合需要立即获取计算结果的场景
- 特性:
- 只需在外层指定
fileName,会自动传递给writeRequest和readRequest - 支持多Sheet操作和跨Sheet公式计算 🆕
- 只需在外层指定
- 示例请求(单Sheet):
{
"fileName": "test.xlsx",
"writeRequest": {
"sheetName": "Sheet1",
"cells": [
{"cellAddress": "A1", "value": 10, "valueType": "NUMBER"},
{"cellAddress": "A2", "value": 20, "valueType": "NUMBER"},
{"cellAddress": "A3", "value": "=A1+A2", "valueType": "FORMULA"}
]
},
"readRequest": {
"sheetName": "Sheet1",
"cells": [{"cellAddress": "A3"}],
"readFormula": false
}
}- 示例请求(多Sheet跨表计算) 🆕:
{
"fileName": "report.xlsx",
"writeRequest": {
"cells": [
{"sheetName": "销售数据", "cellAddress": "B1", "value": 50000, "valueType": "NUMBER"},
{"sheetName": "成本数据", "cellAddress": "B1", "value": 30000, "valueType": "NUMBER"},
{"sheetName": "利润统计", "cellAddress": "A1", "value": "净利润", "valueType": "STRING"},
{"sheetName": "利润统计", "cellAddress": "B1", "value": "=销售数据!B1-成本数据!B1", "valueType": "FORMULA"}
]
},
"readRequest": {
"cells": [
{"sheetName": "销售数据", "cellAddress": "B1"},
{"sheetName": "成本数据", "cellAddress": "B1"},
{"sheetName": "利润统计", "cellAddress": "B1"}
],
"readFormula": false
}
}💡 注意: 无需在
writeRequest和readRequest内部重复指定fileName,系统会自动处理
🆕 多Sheet: 可以在cells中为每个单元格单独指定sheetName,实现跨Sheet操作
- 方法: POST (multipart/form-data)
- 需要Token: 是
- 操作: 使用页面上的文件选择器选择Excel文件上传
- 支持格式: .xlsx, .xls
- 方法: GET
- 需要Token: 是
- 操作: 输入要下载的文件名(如
test.xlsx),点击发送请求 - 响应: 浏览器自动下载文件
- 方法: POST
- 需要Token: 是
- 说明: 基于模板生成新文件并保存在服务器,返回生成的文件名
- 示例请求:
{
"templateFileName": "template.xlsx",
"outputFileName": "report_2024_10.xlsx",
"sheetName": "Sheet1",
"cells": [
{"cellAddress": "A1", "value": "2024年10月报告", "valueType": "STRING"},
{"cellAddress": "B5", "value": 12345.67, "valueType": "NUMBER"},
{"cellAddress": "C10", "value": "=B5*1.1", "valueType": "FORMULA"}
]
}- 方法: POST
- 需要Token: 是
- 说明: 基于模板生成新文件并直接下载
- 示例请求:
{
"templateFileName": "template.xlsx",
"sheetName": "Sheet1",
"cells": [
{"cellAddress": "A1", "value": "即时报告", "valueType": "STRING"},
{"cellAddress": "B5", "value": 999, "valueType": "NUMBER"}
]
}- 方法: GET
- 需要Token: 否
- 说明: 检查服务是否正常运行
- 响应示例:
{
"status": "UP",
"timestamp": "2024-10-24T12:00:00",
"storageAvailable": true,
"fileCount": 10
}- 在页面顶部"基础配置"区域选择一个API Token
- 如果没有Token,先到"Token管理"页面创建一个
- 从"API接口"下拉列表中选择要测试的接口
- 系统会自动加载该接口的示例数据
- 点击"📝 加载示例"按钮,加载预设的示例请求
- 在"选择Excel文件"下拉列表中选择一个已上传的文件
- 系统会自动将文件名填入请求体的
fileName字段
- 直接在"请求体(JSON)"文本框中编辑请求数据
- 使用"选择文件上传"按钮选择本地Excel文件
- JSON请求体会被隐藏(不需要)
- 在"要下载的文件名"输入框中输入文件名
- JSON请求体会被隐藏(不需要)
- 点击"🚀 发送请求"按钮
- 等待响应(下方会显示响应结果)
响应区域会显示:
- 状态码: HTTP状态码和状态文本
- 耗时: 请求处理时间(毫秒)
- 方法和URL: 实际调用的接口路径
- 响应体: JSON格式的响应内容或错误信息
根据选择的接口类型,页面会自动显示/隐藏相应的输入区域:
- JSON请求: 显示JSON文本框(大多数接口)
- 文件上传: 显示文件选择器(上传接口)
- 文件下载: 显示文件名输入框(下载接口)
- 对于返回文件的接口(下载、模板下载),浏览器会自动触发文件下载
- 响应区域会显示文件大小和下载成功信息
- 如果请求失败,响应区域会显示详细的错误信息
- 包括错误消息和堆栈跟踪(如果有)
- 选择"写入Excel"接口
- 修改示例中的
cellAddress和value - 发送请求写入数据
- 切换到"读取Excel"接口
- 读取公式计算结果
- 选择"写入并读取(组合操作)"接口
- 在
writeRequest.cells中设置输入值和公式 - 在
readRequest.cells中指定要读取的单元格 - 一次请求完成写入和读取
- 选择"模板生成"接口
- 指定模板文件名(如
template.xlsx) - 设置输出文件名(如
report_2024_10.xlsx) - 填充报告数据
- 发送请求,服务器生成文件
- 可以在"Excel文件"页面查看生成的文件
- 选择"模板填充并下载"接口
- 指定模板文件和数据
- 发送请求,浏览器自动下载生成的文件
- 为测试环境创建专用Token,方便追踪测试请求
- 在Token描述中注明用途(如"测试专用")
- 测试前先在"Excel文件"页面上传测试用的Excel文件
- 为模板功能准备好模板文件
- 发送请求后,可以到"请求日志"页面查看完整的请求和响应
- 使用"Excel文件"页面的下载功能验证生成的文件
- 如果请求失败,检查:
- Token是否有效且未过期
- 文件名是否存在
- JSON格式是否正确
- 单元格地址是否有效(如A1, B2)
- 查看"请求日志"获取详细错误信息
- 响应状态会显示请求耗时
- 可以测试不同大小的数据集,观察性能变化
STRING: 字符串NUMBER: 数字BOOLEAN: 布尔值FORMULA: 公式(值应以=开头)
- 标准Excel格式:
列字母 + 行号 - 示例:
A1,B2,AZ27,AA100 - 不区分大小写
- 必须以
=开头 - 使用Excel标准函数语法
- 示例:
=SUM(A1:A10),=AVERAGE(B1:B5),=A1+B1
- 所有需要认证的接口都通过HTTP Header传递Token
- Header名称:
X-API-Token - Header值:完整的Token字符串
- ✅ 新增所有API接口的测试支持
- ✅ 分类显示接口(Excel操作、文件管理、模板功能、系统)
- ✅ 自适应UI,根据接口类型显示相应的输入区域
- ✅ 支持文件上传和下载测试
- ✅ 支持模板功能测试
- ✅ 优化示例数据,确保与后端模型匹配
- ✅ 改进文件下载处理,自动触发浏览器下载
- ✅ 增强错误提示和响应显示
- 初始版本,支持基本的Excel读写和组合操作测试