网友作品 #000037 · 提交于 2026/08/05
Excel图表加载项:内置190余种ECharts图表
★★★★★业余水平exceldna




1 / 4
作品简介
EChartsExcelAddin 是一款面向 Excel 与 WPS 表格的图表加载项,把 Apache ECharts 官方示例画廊的 190 余种图表(覆盖 30 个分类)搬进 Office 工作流,打通“Excel 数据 → ECharts 可视化 → 工作簿展示”的闭环。图表以独立 HTML 文件存放、由 WebView2 渲染,通过 Ribbon 选项卡与右侧任务窗格交互:选中表格数据区域,即可注入数据实时生成图表。
核心亮点
- 图表画廊:柱状、折线、饼图、散点、K线、地图、热力、桑基、雷达、漏斗、仪表盘、旭日图、树图、平行坐标等 190 余种,按 30 个分类浏览,支持中英双语索引与侧边栏实时预览
- 选中即画图:从 Excel 选中任意行列数的区域,自动序列化为 JSON 注入当前图表,无需手工整理数据
- Ribbon 深度集成:新增“ECharts”选项卡,选择图表、选中数据画图、刷新、开关任务窗格一步到位
- 工作簿自动化:结构化数据批量导出、ListObject 安全重写(保留公式与格式)、列 Schema 管理、屏幕刷新/事件/计算状态控制
- 双端兼容:Excel 完整支持;WPS 个人版深度适配——本地补丁版 ExcelDNA、空白工作簿自动清理、PNG 图标透明重绘(解决 WPS 灰底问题)、白名单安装机制
- 一键安装卸载:Excel 与 WPS 分别提供安装/卸载脚本,日志按日滚动留存
技术与工具
- 运行时:.NET 6(C# 10),插件框架 ExcelDNA v1.9(本地补丁版,兼容 WPS 个人版)
- UI 与渲染:WPF + HandyControl 界面,WebView2 嵌入式浏览器驱动 Apache ECharts,NLog 日志
- 构建与分发:PowerShell 脚本构建,bat 脚本一键安装卸载
- AI 辅助:借助 exceldna-addin-builder 技能提出需求自动执行,在 workbuddy 中持续反馈迭代
开发过程
作者用一句需求启动项目——“把 ECharts 官网 examples 里的图例都做到一个 Excel 插件里”,交给 AI(exceldna-addin-builder 技能)自动执行,AI 有疑问会主动询问。开发完成后反复使用,把遇到的失败情况(如功能区没有出现选项卡、图表区域加载完成却显示空白)继续反馈回 workbuddy,逐轮调整代码;随后又提出为每种图表增加数据格式说明、图表样式可编辑、支持导出 HTML 文件等优化需求持续迭代。
适用场景
- 企业经营分析与汇报:快速把业务表格数据转换为高质量可视化图表,提升汇报材料制作效率
- 行业数据调研:用桑基图、热力图、平行坐标等专业图表完成多维度数据洞察
- WPS 用户:兼容 WPS 个人版的图表增强方案,弥补 WPS 原生图表种类的不足
原始提交内容(点开查看,可复制全文去问 AI)
EChartsExcelAddin — ECharts 图表画廊 Excel/WPS 插件
EChartsExcelAddin 是一款面向 Excel 与 WPS 表格的图表插件,将 Apache ECharts 的 190+ 种高质量图表直接内嵌到 Office 工作流中,打通「Excel 数据 ECharts 可视化 Office 工作簿」的闭环。
核心特性
图表画廊
- 内置 190+ 种 ECharts 图表,覆盖 30 个分类:柱状图、折线图、饼图、散点图、K线图、地图、热力图、桑基图、雷达图、漏斗图、仪表盘、盒须图、旭日图、矩形树图、主题河流图、树图、和弦图、象形柱图、矩阵、平行坐标等
- 通过
chart_index.json管理图表索引,支持中英双语标题,每个图表以独立 HTML 文件存放,由 WebView2 渲染
Ribbon 菜单深度集成
- 工具栏新增 “ECharts” 选项卡,提供:
- 选择图表 — 按分类浏览全部图表,点击即可在侧边栏实时预览
- 选中数据画图 — 从 Excel 选中区域读取数据,自动注入到当前图表
- 刷新 — 刷新当前 WebView2 图表
- 打开面板 — 显示/隐藏右侧图表任务窗格
Excel 数据注入
- 选区自动序列化为 JSON,通过
window.setExcelChartData()注入到图表 - 支持任意行列数的选区,无需手动处理数据
工作簿自动化(模板功能)
- 结构化数据批量导出(新工作表 + ListObject 转换)
- ListObject 安全重写(保留公式和格式)
- 列 Schema 管理(文本、日期、时间、金额等格式)
- Excel 状态控制(ScreenUpdating / Events / DisplayAlerts / Calculation)
技术栈
| 层面 | 技术 | 说明 |
|---|---|---|
| 运行时 | .NET 6.0 (C# 10+) | net6.0-windows,RollForward=LatestPatch |
| 插件框架 | ExcelDNA v1.9 | 本地补丁版,兼容 WPS 个人版 |
| UI 框架 | WPF + HandyControl v3.5.1 | 现代化 WPF UI |
| Web 渲染 | Microsoft.Web.WebView2 | 嵌入式浏览器,驱动 ECharts 图表 |
| 图表库 | Apache ECharts | echarts.min.js 嵌入 |
| 日志 | NLog v5.3.4 | 按日滚动,5MB/文件,保留 30 天 |
| 构建 | PowerShell 5.1+ | build_addin.ps1 |
兼容性
- Excel — 完整支持,提供独立安装/卸载脚本
- WPS 个人版 (ET) — 深度适配,包括本地补丁版 ExcelDNA 运行时、空白工作簿自动清理、PNG 图标透明安全重绘(解决 WPS 灰底问题)、WPS 白名单安装机制
项目结构
echarts-excel-addin/
src/EChartsExcelAddin/ # 插件主项目 (C# .NET 6)
RibbonController.cs # Ribbon 事件分发
TaskPane/ # CTP 窗格管理 + WebView2 宿主
Views/ # WPF/WinForms 视图层
Resources/Ribbon.xml # Ribbon UI 定义
html/ # 嵌入的 ECharts 图表资源
echarts.min.js
chart_index.json # 图表索引 (30 类, 190+ 图表)
charts/ # 按分类存放的图表 HTML
scripts/ # 安装/卸载/测试脚本
tools/ # 构建与同步工具
runtime/exceldna/ # 本地补丁版 ExcelDNA 运行时
dist/ # 交付产物目录
docs/ # 架构与验收文档
安装与构建
- 运行
build_addin.ps1构建项目,产物输出至dist/files/ - Excel 用户:双击
install_excel_addin.bat - WPS 用户:双击
install_wps_addin.bat - 需预装 .NET 6 Desktop Runtime
- 卸载提供对应的
uninstall_excel_addin.bat/uninstall_wps_addin.bat
许可
本项目为闭源项目(No License specified)。