# 基于 Vue3 + Express + MySQL + ONLYOFFICE 的 Excel 数据协同平台实战:模块生成、数据分析、可 视化、在线编辑、角色权限一体化
# 基于 Vue3 + Express + MySQL + ONLYOFFICE 的 Excel 数据协同平台实战:模块生成、数据分析、可视化、在线编辑、角色权限一体化
## 一、项目背景
在很多业务系统里,Excel 仍然是最常见的数据载体。
尤其是在医疗统计、运营报表、业务台账、模板化录入这些场景中,大家经常会遇到几个典型问题:
- Excel 模板很多,但系统模块开发成本高
- 数据上传后只能“存”,不能很好地分析和展示
- 文件修改仍然依赖本地 Excel,协同效率低
- 不同人员看到的模块和可操作范围不一样,但系统权限颗粒度不够
- 业务变化快,希望“换一个模板就能生成一个新模块”
基于这些问题,我做了一个 Excel 驱动的数据协同分析平台。
这个项目的核心目标很明确:
让 Excel 模板驱动业务模块生成,让上传的数据可分析、可视化、可在线编辑,并且通过角色控制不同
模块的权限。
项目地址:
Gitee:
https://gitee.com/zzYk/gfread-excel.git (https://gitee.com/zzYk/gfread-excel.git)
———
## 二、特别说明:本项目代码完全由 AI 生成
这次项目还有一个很特别的点:
这个项目的代码实现,完全由 AI 生成。
这里的“完全由 AI 生成”不是简单指:
- 让 AI 写几个函数
- 让 AI 补几个页面
- 让 AI 改几个 bug
而是指这个项目从功能整理、结构分析、后端接口、前端页面、权限模型、在线编辑接入、README 文档、部署脚本,到后续的角色扩展、菜单调整、发布材料整理,基本都由 AI 协助完成。
我在这个过程中主要承担的是:
- 提需求
- 明确业务目标
- 决定模块边界
- 校验结果是否符合预期
- 逐步迭代修正方向
而具体代码产出,包括:
- Vue 页面
- Express 接口
- MySQL 初始化逻辑
- RBAC 权限实现
- ONLYOFFICE 接入
- Docker 和启动脚本
- README 和发布文档
基本都由 AI 来生成和修改。
这件事对我来说的意义不只是“省时间”,而是让我更直观地感受到:
AI 已经不只是代码补全工具,而是可以真正参与一个完整项目交付过程的开发协作者。
当然,也要客观看待:
- AI 可以大幅提升实现效率
- 但业务判断、需求拆解、结果验收仍然需要人来把关
- 尤其是权限、部署、数据流程这类地方,不能只看“能跑”,还要看“是否真的合理”
所以这个项目也可以看作一次比较完整的实践:
用 AI 完成一个真实业务系统级项目。
———
## 三、项目实现了什么
这个项目不是单纯的“Excel 上传工具”,而是把一整套业务闭环做出来了。
### 1. 模块生成
系统支持上传 Excel 模板,自动完成以下事情:
- 分析工作表结构
- 识别表头行
- 推断字段类型
- 自动生成模块定义
- 自动生成对应的数据表
- 形成一个可独立使用的动态业务模块
也就是说,很多原本需要后端建表、前端配页面的事情,现在通过模板就能快速完成。
### 2. 数据分析
目前项目已经实现两类分析能力:
- 出院统计分析
- 动态模块数据分析
支持的能力包括:
- 上传历史查看
- 文件级明细查询
- 批次数据追踪
- 记录详情查看
- 模块数据汇总
### 3. 数据可视化
为了让业务人员不仅能“看表”,还能“看趋势”,项目接入了 ECharts,实现了:
- 柱状图
- 多指标对比图
- 多维度展示
- 出院统计图表分析
- 动态模块文件级图表展示

这样上传后的 Excel 数据不再只是落库存储,而是可以直接转成业务可视结果。
### 4. 在线编辑
项目集成了 ONLYOFFICE,支持对动态模块上传的 Excel 文件进行在线编辑。
具体流程如下:
- 用户打开文件
- ONLYOFFICE 在线编辑
- 编辑完成后回调后端
- 后端重新校验模板结构
- 同步写回数据库
- 记录版本号、同步状态、最后保存时间

这部分能力非常适合需要“边看边改边同步”的业务场景。
### 5. 人员权限
项目引入了 RBAC 权限模型,支持:
- 用户登录
- 自定义角色
- 用户绑定角色
- 按模块控制权限
- 按动作控制权限
动作粒度包括:
- view
- create
- edit
- delete
- manage
也就是说,不同角色可以看到不同模块,也可以在同一模块里拥有不同操作权限。
———
## 四、项目的核心亮点
我觉得这个项目最有价值的地方,不在于某一个页面,而在于这几个能力被串成了一条完整链路。
### 亮点 1:Excel 模板驱动业务模块生成
传统做法是:
- 提需求
- 设计表结构
- 写后端接口
- 写前端页面
- 联调上线
而这个项目把其中一部分标准化了:
上传模板 -> 自动识别字段 -> 自动生成模块 -> 直接可用
这对模板驱动型业务非常实用。
### 亮点 2:分析、可视化、在线编辑不是割裂的
很多系统只能做到“上传 Excel 存起来”,但这里做到了:
- 上传后可以分析
- 分析后可以可视化
- 可视化后还可以回到文件在线编辑
- 编辑后又能重新同步数据库
这是一个真正闭环的数据协同流程。
### 亮点 3:权限不是写死的
这次我把权限系统做成了 角色可自定义,而不是简单固定成几个死角色。
管理员可以:
- 新增角色
- 修改角色名称和说明
- 删除未绑定人员的角色
- 为角色配置模块动作权限
这比“写死系统管理员、业务人员、只读人员”更适合真实业务演进。
### 亮点 4:这是一次完整的 AI 工程化实践
这个项目让我更深地体会到,AI 在开发中的价值已经不只是“帮写代码片段”,而是可以在以下环节持续
参与:
- 项目结构梳理
- 模块设计
- 页面实现
- 接口编写
- 权限体系补充
- 启动脚本优化
- 部署文档整理
- 发布材料准备
也就是说,AI 开始具备“参与完整交付链条”的能力。
———
## 五、技术栈
### 前端
- Vue 3
- Vite
- Element Plus
- Axios
- ECharts
- xlsx
### 后端
- Node.js
- Express
- MySQL
- Multer
- xlsx
### 第三方服务
- ONLYOFFICE Document Server
———
## 六、项目架构设计
项目结构大致如下:
guofengTest/
├── backend/
│ ├── src/
│ │ ├── controllers/
│ │ ├── routes/
│ │ ├── middleware/
│ │ ├── models/
│ │ ├── services/
│ │ ├── utils/
│ │ └── app.js
│ ├── uploads/
│ └── Dockerfile
├── frontend/
│ ├── src/
│ │ ├── views/
│ │ ├── components/
│ │ ├── router/
│ │ ├── config/
│ │ └── utils/
│ └── Dockerfile
├── docker-compose.yml
├── README.md
└── start.sh
整体设计思路是:
- 前端负责页面交互、图表展示、权限入口控制
- 后端负责模板分析、动态建表、数据导入、权限校验、ONLYOFFICE 回调
- MySQL 负责业务数据存储
- ONLYOFFICE 负责在线编辑能力
———
## 七、权限模型设计
权限这块我采用的是比较标准的 RBAC(基于角色的访问控制)。
关系如下:
- 用户 -> 角色
- 角色 -> 模块
- 模块 -> 动作权限
当前项目里主要模块包括:
- 出院统计
- 模块生成
- 动态模块
- 人员权限
- 通用数据导入
- 通用数据展示
每个模块支持如下动作权限:
- 查看
- 新增
- 编辑
- 删除
- 管理
这样做的好处是:
- 前端菜单可以按权限显示
- 页面按钮可以按权限控制
- 后端接口也可以按权限拦截
- 不会出现“前端隐藏了按钮,但接口仍然能直接调用”的问题
———
## 八、部署方式
这个项目支持两种方式部署。
### 1. 本地开发部署
#### 后端
cp backend/.env.example backend/.env
cd backend
npm install
npm start
#### 前端
cp frontend/.env.example frontend/.env
cd frontend
npm install
npm run dev
默认访问地址:
- 前端:http://localhost:5173
- 后端:http://localhost:3000/api
默认账号:
用户名:admin
密码:admin123
### 2. Docker 一体化部署
项目内置了 docker-compose.yml,可以直接启动:
- MySQL
- Backend
- Frontend
- ONLYOFFICE
启动命令:
docker-compose up -d --build
访问地址:
- 前端:http://localhost
- 后端:http://localhost:3000/api
- ONLYOFFICE:http://localhost:8080
———
## 九、这个项目适合哪些场景
我觉得这个项目比较适合以下类型的业务:
- 医疗统计类系统
- Excel 模板驱动的内部管理系统
- 表格录入型业务平台
- 需要在线编辑 Excel 并回写数据库的系统
- 有多角色、多模块权限控制要求的业务系统
———
## 十、我在这个项目里重点解决了什么问题
如果只从“做了哪些页面”来讲,这个项目并不算特别复杂。
但如果从“解决了哪些真实业务问题”来看,我觉得它有几个比较实用的点:
### 1. 让 Excel 不只是上传附件
而是:
- 能生成模块
- 能分析数据
- 能图表展示
- 能在线编辑
- 能权限控制
### 2. 让模块扩展不再完全依赖传统开发模式
如果业务本质是模板驱动的,那么通过模板分析自动生成模块,会极大提升扩展效率。
### 3. 让权限真正落到模块层和动作层
而不是只做到“有没有登录”。
### 4. 验证了 AI 在真实项目开发中的可行性
这次项目让我更加确定一件事:
AI 已经可以参与完整的软件开发流程。
它并不是代替人,而是让开发从“逐行编码”逐渐转向“需求定义 + 结果校验 + 持续迭代”的工作方式。
———
## 十一、项目地址
Gitee 地址:
https://gitee.com/zzYk/gfread-excel.git (https://gitee.com/zzYk/gfread-excel.git)
如果你对下面这些方向感兴趣,也可以一起交流:
- Excel 模板驱动业务系统
- ONLYOFFICE 在线编辑集成
- Vue + Express 后台系统
- RBAC 权限设计
- AI 辅助项目开发
———
## 十二、总结
这个项目本质上是在做一件事:
把 Excel 业务流程系统化。
从模板生成模块,到数据分析,到图表可视化,再到在线编辑和权限管理,目标都是让原本分散在
Excel、本地文件、人工协作里的流程,回到一个统一的平台里完成。
而对我来说,这个项目还有另一层意义:
它证明了 AI 已经可以真正参与一个完整项目的落地过程。
不是写几个 demo,不是补几个函数,而是可以围绕真实需求,持续推进到一个能运行、能部署、能展
示、能发布的系统。
如果你也在做这类系统,这个项目可以作为一个比较完整的参考实现。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)