一个简单易用的Web应用,用于从API接口获取数据并导出为Excel文件。支持接口配置、Excel表头自定义和模板管理功能。
- 🔧 接口配置: 支持GET/POST请求,自定义请求头和参数
- 📊 Excel配置: 自定义列映射、数据路径和导出列
- 📝 模板管理: 保存和管理常用的配置模板
- 🎨 友好界面: 现代化的Web界面,操作简单直观
- ⚡ 实时测试: 在线测试API接口,预览返回数据
- Python 3.7+
- pip
# 克隆或下载项目到本地
cd sentry-report
# 安装Python依赖
pip install -r requirements.txtpython app.py应用将在 http://localhost:8080 启动。
# 克隆项目
git clone https://github.com/983033995/sentry-report.git
cd sentry-report
# 使用docker-compose启动
docker-compose up -d
# 带nginx反向代理启动
docker-compose --profile with-nginx up -d# 构建镜像
docker build -t sentry-report .
# 运行容器
docker run -d \
--name sentry-report \
-p 8080:8080 \
-v $(pwd)/config:/app/config \
-v $(pwd)/templates_config:/app/templates_config \
-v $(pwd)/output:/app/output \
sentry-report# 拉取最新镜像
docker pull ghcr.io/983033995/sentry-report:latest
# 运行容器
docker run -d \
--name sentry-report \
-p 8080:8080 \
-v $(pwd)/config:/app/config \
-v $(pwd)/templates_config:/app/templates_config \
-v $(pwd)/output:/app/output \
ghcr.io/983033995/sentry-report:latest-
在「接口配置」标签页中填写API信息:
- 接口地址: 完整的API URL
- 请求方法: GET或POST
- 请求头: JSON格式的请求头信息
- 请求参数: URL参数(GET)或查询参数
- 请求体数据: POST请求的body数据
-
点击「测试接口」验证配置是否正确
-
在「Excel配置」标签页中设置导出选项:
- 数据路径: 如果API返回嵌套数据,指定数据位置(如:
data.items) - 列映射: 将API字段名映射为Excel列名
- 选择导出列: 指定要导出的字段(逗号分隔)
- 数据路径: 如果API返回嵌套数据,指定数据位置(如:
-
点击「导出Excel」生成并下载文件
- 在「模板管理」标签页中:
- 输入模板名称,点击「保存当前配置为模板」
- 从模板列表中选择已保存的模板进行加载
- 删除不需要的模板
{
"url": "https://jsonplaceholder.typicode.com/users",
"method": "GET",
"headers": {
"Authorization": "Bearer your-token",
"Content-Type": "application/json"
},
"params": {
"page": 1,
"limit": 10
}
}- 数据路径:
data.users(如果API返回{"data": {"users": [...]}}) - 列映射:
id→用户IDname→姓名email→邮箱
- 选择导出列:
id,name,email,phone
sentry-report/
├── app.py # Flask主应用
├── requirements.txt # Python依赖
├── templates/
│ └── index.html # 前端界面
├── config/ # 配置文件目录
├── templates_config/ # 模板存储目录
├── output/ # Excel输出目录
└── README.md # 说明文档
GET /- 主页面GET /api/templates- 获取模板列表GET /api/templates/<name>- 获取指定模板POST /api/templates/<name>- 保存模板DELETE /api/templates/<name>- 删除模板POST /api/test-api- 测试API接口POST /api/export- 导出Excel文件
- 请确保API接口支持CORS或在同域下使用
- 大量数据导出时请耐心等待
- 模板文件保存在
templates_config/目录下 - 导出的Excel文件保存在
output/目录下
-
API测试失败
- 检查网络连接
- 验证API地址和认证信息
- 确认请求头格式正确
-
Excel导出失败
- 检查数据路径是否正确
- 确认API返回的数据格式
- 验证列映射配置
-
模板加载失败
- 检查模板文件是否存在
- 验证JSON格式是否正确
python app.pydocker-compose up -d项目配置了GitHub Actions自动构建,每次推送到main分支都会自动构建Docker镜像并推送到GitHub Container Registry。
- Heroku: 支持直接从GitHub部署
- Railway: 支持Docker部署
- Render: 支持Docker部署
- DigitalOcean App Platform: 支持Docker部署
- AWS ECS/Fargate: 支持容器部署
- Google Cloud Run: 支持容器部署
- Azure Container Instances: 支持容器部署
- 后端: Flask, Pandas, OpenPyXL, Requests
- 前端: HTML5, CSS3, JavaScript
- 数据处理: Pandas
- Excel生成: OpenPyXL
- 容器化: Docker, Docker Compose
- CI/CD: GitHub Actions
- 反向代理: Nginx(可选)
MIT License