Files
SaleShow/README.md
T

202 lines
5.5 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文件的切换查看
- **数据筛选** - 按金额范围进行数据筛选
- **搜索功能** - 支持商品名称搜索
### 📊 数据展示
- **销售总览** - 显示总销售额、销售天数、商品种类等统计信息
- **每日详情** - 按日期分组展示销售数据
- **双视图模式** - 支持卡片视图和表格视图切换
- **表格排序** - 点击表头实现数据排序(升序/降序/原始顺序)
### 🎨 用户界面 (New)
- **玻璃拟态设计** - 采用现代流行的 Glassmorphism 风格,视觉精致小巧。
- **移动端深度优化** - 针对手机屏幕调整布局,商品信息单行显示,更紧凑易读。
- **流畅交互** - 添加数字滚动、展开/折叠等微交互动画。
### 🔧 技术特性
- **智能解析** - 支持“扁平表”和“层级表”两种格式,精准识别交易时间(精确到秒)。
- **高性能** - 基于 Pandas 向量化操作,快速处理大数据量。
- **Docker支持** - 提供完整的 Docker 容器化部署方案。
## 🚀 快速开始
### 系统要求
- **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 Compose 部署 (推荐)
我们在项目中提供了 `docker-compose.yml`,这是最简单的部署方式。
1. **一键启动**
```bash
docker-compose up -d
```
2. **访问应用**
浏览器访问 `http://localhost:5000`
3. **修改端口 (可选)**
```bash
# Linux/Mac
APP_PORT=8080 docker-compose up -d
# Windows PowerShell
$env:APP_PORT="8080"; docker-compose up -d
```
### 环境变量配置
```bash
# 设置Flask环境
export FLASK_DEBUG=False
# 设置端口 (手动运行 python app.py 时生效,Docker使用映射端口)
export PORT=5000
```
## 📁 项目结构
```
SaleShow/
├── app.py # Flask应用主文件
├── requirements.txt # Python依赖包列表
├── Dockerfile # Docker构建文件
├── docker-compose.yml # Docker Compose配置
├── static/ # 静态资源目录
│ ├── css/
│ │ └── style.css # 样式文件
│ └── js/
│ └── main.js # 交互逻辑
├── templates/
│ └── index.html # 前端HTML模板
├── uploads/ # 上传文件存储目录(持久化挂载)
└── 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月10日
*享受数据分析的乐趣!📊✨*