IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> echarts将数据导出为Excel文件(重写dataview方法) -> 正文阅读

[JavaScript知识库]echarts将数据导出为Excel文件(重写dataview方法)

echarts将数据导出为Excel文件(重写dataview方法)

前言

本文在vue下的echarts图形插件中以存前端的方式实现将数据导出为Excel文件

代码

本文实现的是vue前端项目,一下代码均为vue下的代码

开头记得导入以下两个包,如果没安装的话在终端输入npm install file-saver以及npm install xlsx安装

<script>
  import FileSaver from "file-saver";
  import XLSX from "xlsx";
  //后面就是你的代码
  

之后就是重写dataView的部分,在toolbox中的feature下重写。
相关的知识也可以看官方的说明文档,官方说明文档点【这里

toolbox: {
            feature: {
              dataView: {
              show: true,
              lang: ['数据视图', '关闭', '导出Excel'],
              //optionToContent为重画表格的函数
              optionToContent: function(opt){
                  //axisData是你想定义的表格第一列的数据,我这里设置为柱形图的x轴数据
                  var axisData = opt.xAxis[0].data;
                  //tAxis[0]为你想定义的表格第一行的数据
                  var txisData = opt.tAxis[0].data;
                  var series = opt.series;
                  //表头
                  var tdHeads = '<td  style="padding: 0 10px"></td>';
                  var tdBodys = '';
                  var nameData = txisData;
                  for (var i = 0; i < nameData.length ; i++) {
                      tdHeads += '<td style="padding: 0 10px">' + nameData[i] + '</ td >';
                  }
                  var table = '<table id="Mytable" border="1" class="table table-bordered table-striped table-hover" style="width:100%;text-align:center" ><tbody><tr>' + tdHeads + ' </tr>';
                  for (var i = 0, l = axisData.length; i < l; i++) {
                      for (var j = 0; j < series.length; j++) {
                          var temp = series[j].data[i];
                          if (temp != null && temp != undefined) {
                              tdBodys += '<td>' + temp + '</td>';
                          } else {
                              tdBodys += '<td></td>';
                          }
                      }
                      table += '<tr><td style="padding: 0 10px">' + axisData[i] + '</td>' + tdBodys + '</tr>';
                      tdBodys = '';
                  }
                  table += '</tbody></table>';
                  return table;
              },
              //contentToOption为重写“刷新”按钮的语句
                contentToOption: function (HTMLDomElement, opt) {
                  let et = XLSX.utils.table_to_book(
                         document.getElementById("Mytable")
                       );
                       let etout = XLSX.write(et, {
                        bookType: "xlsx",
                        bookSST: true,
                         type: "array",
                       });
                       try {
                         FileSaver.saveAs(
                           new Blob([etout], {
                             type: "application/octet-stream",
                          }),
                          "头部文件名" + "-" + new Date().toLocaleString() +".xlsx"
                        );
                      } catch (e) {
                      }
                      return etout;
                    },
               },
               magicType: {show: true},
               restore: {show: true},
               saveAsImage: {show: true},
              // dataZoom: {show: true},
            }

实现效果

点击图标右上角的数据视图

在这里插入图片描述
点击右下角导出Excel,直接下载
在这里插入图片描述
下载到本地的Excel文件
在这里插入图片描述

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-04-26 11:33:45  更:2022-04-26 11:36:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 0:42:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码