📊 销售数据分析器

一个现代化的Web应用程序,用于分析和可视化销售数据。支持Excel文件上传,自动解析销售数据,提供丰富的分析功能和美观的界面展示。

功能特性

🎯 核心功能

  • Excel文件上传 - 支持.xlsx和.xls格式文件
  • 智能数据解析 - 自动识别销售数据结构
  • 多文件管理 - 支持多个Excel文件的切换查看
  • 数据筛选 - 按金额范围进行数据筛选
  • 搜索功能 - 支持商品名称搜索

📊 数据展示

  • 销售总览 - 显示总销售额、销售天数、商品种类等统计信息
  • 每日详情 - 按日期分组展示销售数据
  • 双视图模式 - 支持卡片视图和表格视图切换
  • 表格排序 - 点击表头实现数据排序(升序/降序/原始顺序)

🎨 用户界面 (New)

  • 玻璃拟态设计 - 采用现代流行的 Glassmorphism 风格,视觉精致小巧。
  • 移动端深度优化 - 针对手机屏幕调整布局,商品信息单行显示,更紧凑易读。
  • 流畅交互 - 添加数字滚动、展开/折叠等微交互动画。

🔧 技术特性

  • 智能解析 - 支持“扁平表”和“层级表”两种格式,精准识别交易时间(精确到秒)。
  • 高性能 - 基于 Pandas 向量化操作,快速处理大数据量。
  • Docker支持 - 提供完整的 Docker 容器化部署方案。

🚀 快速开始

系统要求

  • Python 3.8+
  • 操作系统 Windows/Linux/macOS
  • 浏览器 现代浏览器(Chrome、Firefox、Safari、Edge

安装步骤

1. 克隆项目

git clone https://gitea.94kan.cn/houhuan/SaleShow.git
cd SaleShow

2. 创建虚拟环境(推荐)

# Windows
python -m venv venv
venv\Scripts\activate

# Linux/macOS
python -m venv venv
source venv/bin/activate

3. 安装依赖

pip install -r requirements.txt

4. 运行应用

python app.py

5. 访问应用

打开浏览器,访问:http://localhost:5000

📖 使用指南

上传文件

  1. 点击"上传Excel文件"按钮
  2. 选择.xlsx或.xls格式的Excel文件
  3. 等待文件处理完成
  4. 查看分析结果

查看数据

  • 左侧面板 - 显示已上传的文件列表,点击可切换查看不同文件
  • 顶部统计 - 显示销售总览信息
  • 每日数据 - 按日期分组展示详细销售记录

数据操作

  • 视图切换 - 点击日期卡片右上角的图标可在卡片视图和表格视图间切换
  • 表格排序 - 在表格视图中点击列标题可进行排序
  • 数据筛选 - 使用底部的筛选按钮按金额范围筛选数据
  • 搜索功能 - 在搜索框中输入商品名称进行搜索

文件管理

  • 清理文件 - 点击"清理文件"按钮可删除所有上传的Excel文件
  • 自动加载 - 页面刷新时自动加载最新上传的文件

🏗️ 部署说明

开发环境部署

按照"快速开始"部分的步骤即可。

生产环境部署

使用Gunicorn(推荐)

pip install gunicorn
gunicorn -w 4 -b 0.0.0.0:8000 app:app

使用 Docker Compose 部署 (推荐)

我们在项目中提供了 docker-compose.yml,这是最简单的部署方式。

  1. 一键启动

    docker-compose up -d
    
  2. 访问应用 浏览器访问 http://localhost:5000

  3. 修改端口 (可选)

    # Linux/Mac
    APP_PORT=8080 docker-compose up -d
    
    # Windows PowerShell
    $env:APP_PORT="8080"; docker-compose up -d
    

环境变量配置

# 设置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 文件了解详情。

📞 联系方式

如有问题或建议,请通过以下方式联系:


最后更新时间: 2026年1月10日

享受数据分析的乐趣!📊

S
Description
传入云值守的报表,然后查询商品
Readme 206 KiB
Languages
Python 41.9%
HTML 19.5%
CSS 19%
JavaScript 18.4%
Dockerfile 1.2%