# EXCEL_DEEPSEEK **Repository Path**: guojf/excel-deepseek ## Basic Information - **Project Name**: EXCEL_DEEPSEEK - **Description**: 基于 **DeepSeek** 大模型的 Excel 数据分析工具,纯前端实现,无需后端服务器。上传 Excel 文件后,用自然语言与 AI 对话即可完成数据筛选、排序、聚合、可视化等分析任务。 - **Primary Language**: HTML - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-06-27 - **Last Updated**: 2026-06-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 📊 Excel 智能分析助手 基于 **DeepSeek** 大模型的 Excel 数据分析工具,纯前端实现,无需后端服务器。上传 Excel 文件后,用自然语言与 AI 对话即可完成数据筛选、排序、聚合、可视化、模板填写等任务。 ## ✨ 功能特性 ### 数据分析 - **📁 多文件上传** — 支持 `.xlsx` / `.xls`,最多 100 个文件,自动识别合并单元格 - **🔍 智能筛选** — 按条件筛选数据(等于、大于、包含、为空等 10 种操作符) - **📊 图表生成** — 支持柱状图、折线图、饼图、散点图、面积图(基于 ECharts) - **📋 透视表** — 分组聚合(求和、平均、计数、最大/最小),生成统计结果表 - **🔄 数据合并** — 跨文件、跨 Sheet 合并数据,列名自动对齐 - **✏️ 单元格编辑** — AI 可修改单元格值(仅内存,不改变原始文件) - **➕ 新建数据表** — 无需上传文件,直接对话让 AI 创建空白数据表 - **📥 导出** — 结果导出为 Excel (.xlsx) 或 CSV 文件 - **🕐 获取时间** — AI 可读取本地日期时间,用于填写模板日期字段 ### 模板智能填写 - **📝 自动识别填写位置** — AI 分析模板布局,自动将信息表数据填入对应位置 - **🧩 预配对填写目标** — 标签与填写格自动配对,减少 AI 填错位置 - **🔲 边框结构识别** — 四边边框逐边暴露,结合连续空格序列(gap/gapLen)智能判断布局 - **🛡️ 边界检测** — 10 连空行/列启发式检测表格边界,防止填到表格外 - **↩️ 回退撤销** — `undo_template_fill` 工具,填错可一键回退到填写前状态 - **✅ 填后自检** — 写入后立即读回验证(verified 字段),AI 对照清单逐项检查 - **📐 预览增强** — 模板预览按照实际行高列宽渲染(`table-layout: fixed`),所见即所得 - **📄 XML 直填导出** — 通过修改原始 xlsx 的 XML 保留全部格式(合并格、列宽、样式) ### AI 对话 - **🤖 DeepSeek 驱动** — 支持 DeepSeek-V4-Pro(精准)和 DeepSeek-V4-Flash(快速) - **💡 Thinking 模式** — 推理过程在聊天区显示为独立消息气泡,每次思考独立一条,永久保留可回看 - **📋 计划模式** — 复杂任务自动创建执行计划,步骤进度可视化,强顺序约束防跳步 - **🧠 记忆系统** — 长对话自动总结为临时记忆,支持"记住这个结论"创建永久记忆 - **📦 Skill 导入/导出** — 将分析经验导出为 .md 技能文件,可复用分享 ### 安全与隐私 - **🔑 API Key** — 仅存浏览器内存(可选 localStorage),刷新后需重新输入 - **🔒 纯前端** — 数据仅在浏览器本地处理,不上传任何服务器 - **💾 IndexedDB** — 对话记录、计划、记忆本地持久化,支持 7 天内恢复 ## 🚀 快速开始 1. 用本地 HTTP 服务器打开(推荐 VS Code Live Server 或 `python -m http.server 8080`) 2. 点击顶部 **API Key 状态** 设置 DeepSeek API Key 3. 拖拽 Excel 文件到左侧上传区 4. 在聊天框用自然语言提问,例如: - "总结这份数据的趋势" - "按地区汇总销售额,制作柱状图" - "筛选金额大于 10000 的数据" - "把信息表的数据填进这个模板" - "今天是几号?" ## 🔑 获取 API Key 访问 [DeepSeek 开放平台](https://platform.deepseek.com/api_keys) 注册并创建 API Key。 ## 🛠️ 技术栈 | 技术 | 用途 | |------|------| | 原生 HTML/CSS/JS | 整体架构(无框架依赖) | | [SheetJS](https://sheetjs.com/) | Excel 文件解析与生成 | | [ECharts](https://echarts.apache.org/) | 图表渲染 | | [JSZip](https://stuk.github.io/jszip/) | XML 直填导出 | | [DeepSeek API](https://api.deepseek.com) | AI 对话与数据分析 | | IndexedDB | 对话/记忆/技能/计划持久化存储 | ## 📁 项目结构 ``` excel_deepseek/ ├── index.html # 主页面 ├── intro.html # 介绍页 ├── css/ │ └── style.css # 样式(响应式 + 暗色模式) ├── js/ │ ├── config.js # 全局常量、系统提示词、22 个工具定义 │ ├── app.js # 主控制器(事件总线 + 对话循环) │ ├── modules/ │ │ ├── dataStore.js # 内存数据仓库 │ │ ├── excelReader.js # Excel 文件读取(SheetJS) │ │ ├── fileUploader.js # 文件拖拽上传 │ │ ├── fileAnalyzer.js # AI 文件关系分类 │ │ ├── deepseekClient.js # DeepSeek API 客户端(SSE 流式) │ │ ├── toolExecutor.js # 工具执行(22 个工具) │ │ ├── chartRenderer.js # ECharts 图表渲染 │ │ ├── conversationManager.js # 对话管理(IndexedDB) │ │ ├── memoryManager.js # 两级记忆系统 │ │ ├── skillManager.js # Skill 导入/导出 │ │ ├── apiKeyManager.js # API Key 管理 │ │ ├── uiManager.js # UI 渲染(聊天/数据/图表/模板/记忆) │ │ ├── templateManager.js # 模板填写核心(布局分析/填写/预览/导出) │ │ ├── xmlTemplateFiller.js # XML 直填导出(保留格式) │ │ ├── planManager.js # 计划管理(创建/执行/状态追踪) │ │ ├── mergeCellHandler.js # 合并单元格处理 │ │ └── instructionPanel.js # 使用说明面板 │ └── utils/ │ ├── helpers.js # 工具函数 │ ├── validators.js # 文件校验 │ └── cacheOptimizer.js # 缓存优化 + 计划上下文注入 └── README.md ``` ## 📋 工具列表(22 个) | 分类 | 工具 | 说明 | |------|------|------| | 数据读取 | `get_sheet_info` / `get_sheet_data` / `get_column_stats` | 获取 Sheet 信息、分页数据、列统计 | | 数据处理 | `filter_data` / `sort_data` / `aggregate_data` | 筛选、排序、分组聚合 | | 数据修改 | `update_cells` / `append_rows` / `create_sheet` / `merge_sheets` | 编辑、追加、新建、合并 | | 图表导出 | `create_chart` / `create_table` / `export_data` | 图表、透视表、导出 | | 模板填写 | `get_template_info` / `fill_template_cells` / `batch_fill_templates` / `export_template` / `undo_template_fill` | 布局分析、填写、批量、导出、回退 | | 代码执行 | `execute_code` | 自定义 JS 处理 | | 计划管理 | `create_plan` / `update_plan_status` | 计划创建与步骤追踪 | | 时间 | `get_current_time` | 获取本地日期时间 | ## 🌐 仓库地址 📦 Gitee:[https://gitee.com/sdxxtansuozhe/excel-deepseek](https://gitee.com/sdxxtansuozhe/excel-deepseek) ## 📄 许可 MIT License