一个功能强大的基于 Flask 的 Web 应用程序,专为 Excel/CSV 文件处理而设计。提供完整的文件上传、预览、管理和数据处理解决方案,支持批量数据合并、单元格提取、列排序等高级功能。通过直观的 Web 界面,用户可以轻松处理大量 Excel/CSV 数据,无需复杂的编程知识。
- 🔐 安全认证: 双层密码保护系统,支持普通用户和管理员权限
- 📁 智能文件管理: 支持 Excel (.xlsx/.xls) 和 CSV 文件上传,自动文件验证和清理
- 👀 实时预览: 文件内容实时预览,支持分页显示和数据筛选
- 🔄 批量数据合并: 多文件智能合并,支持自定义合并规则和冲突处理
- 📊 异步任务处理: 后台任务队列,确保大文件处理不阻塞界面
- 📝 完整日志记录: 用户操作详细日志,支持管理员审计
- 🗂️ 管理员面板: 专属管理界面,查看系统状态和用户活动
- � 数据分析: 专业级数据透视表,支持拖拽字段配置和统计分析
- 📈 可视化图表: 多种图表类型,支持自定义汇总方式和交互式配置
- 🗃️ 结果管理: 完整的处理结果管理页面,支持批量操作和数据预览
- 🐳 容器化部署: Docker 一键部署,支持生产环境快速上线
- 📦 便携打包: PyInstaller 生成独立可执行文件,无需安装 Python 环境
- 后端: Flask (Python)
- 前端: HTML/CSS/JavaScript, Bootstrap
- 数据处理: Pandas, OpenPyXL
- 任务管理: 自定义异步任务系统
- 容器化: Docker & Docker Compose
-
克隆项目
git clone https://github.com/d8349565/Excel--.git cd Excel-- -
安装依赖
cd excel_tool pip install -r requirements.txt -
运行应用
python app.py
或使用启动脚本:
start.bat
-
访问应用
打开浏览器访问
http://localhost:5000
-
构建并运行
cd docker docker-compose up -d -
访问应用
打开浏览器访问
http://localhost:9999
SECRET_KEY: Flask 应用密钥ACCESS_PASSWORD: 用户访问密码(默认: 123456)ADMIN_PASSWORD: 管理员密码(默认: admin2025)
- 单个文件最大: 100MB
- 总上传限制: 500MB
- 支持格式: .xlsx, .xls, .csv
- 登录: 使用访问密码登录系统
- 上传文件: 选择并上传 Excel/CSV 文件
- 预览文件: 点击文件查看内容预览
- 合并数据: 选择多个文件进行数据合并
- 下载结果: 下载处理后的合并文件
- 管理员功能: 使用管理员密码查看用户操作日志
- 数据分析: 使用透视表和可视化功能分析数据
- 批量管理: 在结果页面进行文件的批量下载和删除操作
Excel--
├── excel_tool/ # 主应用目录
│ ├── app.py # Flask 应用主文件
│ ├── config.py # 配置文件
│ ├── data_processor.py # 数据处理模块
│ ├── file_manager.py # 文件管理模块
│ ├── task_manager.py # 任务管理模块
│ ├── user_logger.py # 用户日志模块
│ ├── templates/ # HTML 模板
│ ├── static/ # 静态文件 (CSS/JS)
│ ├── uploads/ # 上传文件目录
│ ├── results/ # 处理结果目录
│ ├── logs/ # 日志文件目录
│ └── requirements.txt # Python 依赖
├── docker/ # Docker 部署配置
│ ├── Dockerfile
│ ├── docker-compose.yml
│ └── README.md
├── exe打包命令 # PyInstaller 打包命令
└── README.md # 项目说明
使用 PyInstaller 打包:
cd excel_tool
pyinstaller --onefile --add-data "templates;templates" --add-data "static;static" app.py应用使用自定义的任务管理系统支持异步处理:
- 最大并发任务数: 5
- 任务超时时间: 1小时
- 支持任务状态跟踪和结果获取
- 用户会话管理
- 文件上传验证
- 密码保护访问
- 管理员权限控制
- 自动文件清理(1天保留期)
本项目允许个人使用和商业使用,但需要注明源代码作者和项目地址。
作者: d8349565 项目地址: https://github.com/d8349565/Excel--
如果这个项目对你有帮助,欢迎请作者喝一杯咖啡!☕
欢迎提交 Issue 和 Pull Request 来改进项目。
- 🎯 固定单元格功能重构:
- 从文件特定配置改为通用规则模式,一次配置应用于所有文件
- 支持从所有文件的同名工作表中提取固定单元格数据
- 优化数据源到文件的自动映射机制
- 修复导入配置后单元格预览失效问题
- 增强日志输出,便于调试和问题排查
- ⚡ 预览性能优化:
- 快速预览模式:只加载前3个文件的部分数据
- 预览数据量从10行/文件降至5行/文件
- 添加快速预览模式标识和提示
- 🎨 预览界面优化:
- 数字字段显示为2位小数,提升数据可读性
- 文本内容居中对齐,数值右对齐且右侧留空
- 智能单元格样式识别,自动应用最佳对齐方式
- 悬停提示优化,居中显示完整内容
- 📦 配置管理改进:
- 移除自动保存配置功能,避免缓存污染
- 保留手动保存和导入导出功能
- 修复配置保存时的字段读取错误
- 优化配置元数据提取逻辑
- 🐛 问题修复:
- 修复固定单元格在汇总时只有第一个文件生效的问题
- 修复预览时无法显示固定单元格列的问题
- 修复数据源名称映射不匹配导致的数据丢失
- 修复保存配置时
window.filesData未定义的错误
- 🔧 代码优化:
- 统一字段命名规范,支持驼峰和下划线两种格式
- 增强错误处理和异常捕获
- 添加详细的调试日志和性能监控
- 优化代码结构,提升可维护性
- 🚀 重大功能更新: 全新结果管理页面
- 📊 数据透视表:
- 拖拽式字段配置,支持行、列、数值字段自定义
- 智能数据统计分析,包含记录数、数值分布等概览信息
- 现代化卡片式设计,紧凑布局和自动列宽优化
- 表头点击排序功能,支持升序/降序切换和视觉反馈
- 📈 数据可视化:
- 支持柱状图、折线图、饼图、散点图等多种图表类型
- 可自定义数值汇总方式(求和、平均值、计数、最大值、最小值)
- 拖拽式图表配置,直观的字段映射界面
- 🗃️ 结果管理功能:
- 批量文件操作,支持多选下载和删除
- 全选/取消全选功能,提升批量操作体验
- 文件预览功能,快速查看处理结果
- 🎨 界面优化:
- Bootstrap 5 现代化设计,响应式布局
- 统一主题色彩方案,专业视觉体验
- 流畅的动画效果和交互反馈
- 🔧 技术改进:
- 多进程任务管理优化,解决 gunicorn 部署问题
- 基于文件的任务状态共享机制
- 完善的错误处理和用户提示系统
- ✨ 新增单元格提取功能
- 🔧 优化配置管理
- 🎨 优化系统管理员界面
- 📋 优化列管理逻辑,新增拖拽排序
- 🐛 修复部分bug
- 🐛 修复 bug
- 初始版本发布
- 支持文件上传、预览、合并
- 用户认证和管理员功能
- Docker 容器化支持


