Files
SaleShow/README.md
T

208 lines
5.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 📊 销售数据分析器
一个现代化的Web应用程序,用于分析和可视化销售数据。支持Excel文件上传,自动解析销售数据,提供丰富的分析功能和美观的界面展示。
## ✨ 功能特性
### 🎯 核心功能
- **Excel文件上传** - 支持.xlsx和.xls格式文件
- **智能数据解析** - 自动识别销售数据结构
- **多文件管理** - 支持多个Excel文件的切换查看
- **数据筛选** - 按金额范围进行数据筛选
- **搜索功能** - 支持商品名称搜索
### 📊 数据展示
- **销售总览** - 显示总销售额、销售天数、商品种类等统计信息
- **每日详情** - 按日期分组展示销售数据
- **双视图模式** - 支持卡片视图和表格视图切换
- **表格排序** - 点击表头实现数据排序(升序/降序/原始顺序)
### 🎨 用户界面
- **现代化设计** - 采用渐变色彩和卡片式布局
- **响应式设计** - 完美适配桌面和移动设备
- **专业图标** - 使用Font Awesome图标系统
- **加载优化** - 骨架屏和进度条提升用户体验
### 🔧 技术特性
- **高性能** - 基于Flask框架,快速响应
- **安全性** - 文件上传安全验证和清理功能
- **可扩展** - 模块化设计,易于扩展新功能
## 🚀 快速开始
### 系统要求
- **Python** 3.8+
- **操作系统** Windows/Linux/macOS
- **浏览器** 现代浏览器(Chrome、Firefox、Safari、Edge
### 安装步骤
#### 1. 克隆项目
```bash
git clone https://gitea.94kan.cn/houhuan/SaleShow.git
cd SaleShow
```
#### 2. 创建虚拟环境(推荐)
```bash
# Windows
python -m venv venv
venv\Scripts\activate
# Linux/macOS
python -m venv venv
source venv/bin/activate
```
#### 3. 安装依赖
```bash
pip install -r requirements.txt
```
#### 4. 运行应用
```bash
python app.py
```
#### 5. 访问应用
打开浏览器,访问:http://localhost:5000
## 📖 使用指南
### 上传文件
1. 点击"上传Excel文件"按钮
2. 选择.xlsx或.xls格式的Excel文件
3. 等待文件处理完成
4. 查看分析结果
### 查看数据
- **左侧面板** - 显示已上传的文件列表,点击可切换查看不同文件
- **顶部统计** - 显示销售总览信息
- **每日数据** - 按日期分组展示详细销售记录
### 数据操作
- **视图切换** - 点击日期卡片右上角的图标可在卡片视图和表格视图间切换
- **表格排序** - 在表格视图中点击列标题可进行排序
- **数据筛选** - 使用底部的筛选按钮按金额范围筛选数据
- **搜索功能** - 在搜索框中输入商品名称进行搜索
### 文件管理
- **清理文件** - 点击"清理文件"按钮可删除所有上传的Excel文件
- **自动加载** - 页面刷新时自动加载最新上传的文件
## 🏗️ 部署说明
### 开发环境部署
按照"快速开始"部分的步骤即可。
### 生产环境部署
#### 使用Gunicorn(推荐)
```bash
pip install gunicorn
gunicorn -w 4 -b 0.0.0.0:8000 app:app
```
#### 使用Docker部署
```dockerfile
FROM python:3.9-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
EXPOSE 5000
CMD ["python", "app.py"]
```
#### Nginx反向代理配置
```nginx
server {
listen 80;
server_name your-domain.com;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
```
### 环境变量配置
```bash
# 设置Flask环境
export FLASK_ENV=production
export FLASK_DEBUG=False
# 设置上传文件大小限制(默认16MB)
export MAX_CONTENT_LENGTH=16777216
```
## 📁 项目结构
```
SaleShow/
├── app.py # Flask应用主文件
├── requirements.txt # Python依赖包列表
├── templates/
│ └── index.html # 前端HTML模板
├── uploads/ # 上传文件存储目录(自动创建)
├── __pycache__/ # Python缓存文件
└── README.md # 项目说明文档
```
## 🛠️ 技术栈
### 后端
- **Flask** 2.3.3 - Web框架
- **pandas** 2.3.3 - 数据处理
- **openpyxl** 3.1.5 - Excel文件处理
- **xlrd** 2.0.1 - 旧版Excel文件支持
### 前端
- **HTML5** - 页面结构
- **CSS3** - 样式设计
- **JavaScript (ES6+)** - 交互功能
- **Font Awesome 6.4.0** - 图标库
### 开发工具
- **Git** - 版本控制
- **pip** - 包管理
## 🔒 安全说明
- 文件上传仅支持.xlsx和.xls格式
- 文件大小限制为16MB
- 使用安全的文件名处理
- 定期清理上传的文件以释放磁盘空间
## 🤝 贡献指南
1. Fork 本项目
2. 创建特性分支 (`git checkout -b feature/AmazingFeature`)
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
4. 推送到分支 (`git push origin feature/AmazingFeature`)
5. 创建 Pull Request
## 📄 许可证
本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情。
## 📞 联系方式
如有问题或建议,请通过以下方式联系:
- 项目地址:https://gitea.94kan.cn/houhuan/SaleShow
- 提交 Issue:项目仓库的Issues页面
---
**最后更新时间:** 2026年1月3日
*享受数据分析的乐趣!📊✨*