前言##
echarts是百度前端团队推出的一个非常强大的开源图表库,我最近在重构的一个内部后台系统也用到了echarts,但是梳理老代码的时候发现有人居然改了node_modules/echarts里面的代码😢。梳理了一下功能,其实当时的需求就只想把“保存图片”的那个按钮的逻辑改为下载excel(也不知道为什么产品要在这个位置放导excel的按钮...)。
ecahrts中的toolbox
开始##
我顺着echarts找到了toolbox模块,在node_modules/lib/component/toolbox/feature 下面有几个文件就是echarts toolbox已有的一些功能。发现几个功能都是需要实现同样一套接口来添加对应的按钮和功能,于是照葫芦画瓢,按照SaveAsImage.js 里面的代码实现一个类似的下载excel的工具。需要给class指定一个类属性defaultOption为默认配置,需要实现onclick方法。
SaveAsExcel.js
/**
* @Author: lyan
* @Date: 2017-06-30T12:40:29+08:00
* @Email: liu-yaner@foxmail.com
* @Description: 扩展echarts 的tool box,增加导出excel功能
*/
// 环境判断
var env = require('z