echarts 导出 excel


 exportXlsx: function () {
    var data = [{
      "时间": "00:00",
      "计划曲线": "100",
      "实际出力": "101.812"
    }, {
      "时间": "00:01",
      "计划曲线": "100",
      "实际出力": "101.812"
    }, {
      "时间": "00:02",
      "计划曲线": "100",
      "实际出力": "101.812"
    }, {
      "时间": "00:03",
      "计划曲线": "100",
      "实际出力": "101.812"
    }, {
      "时间": "00:04",
      "计划曲线": "100",
      "实际出力": "101.812"
    }, {
      "时间": "00:05",
      "计划曲线": "100",
      "实际出力": "101.812"
    }];
    var wopts = {bookType: 'xlsx', bookSST: false, type: 'binary'};
    this.downloadExl(data, wopts);
  },
  downloadExl: function (data, wopts) {
    var wb = {SheetNames: ['Sheet1'], Sheets: {}, Props: {}};
    wb.Sheets['Sheet1'] = XLSX.utils.json_to_sheet(data);//通过json_to_sheet转成单页(Sheet)数据
    this.saveAs(newBlob([this.s2ab(XLSX.write(wb, wopts))], {type: "application/octet-stream"}), "这里是下载的文件名" + '.' + (wopts.bookType == "biff2" ? "xls" : wopts.bookType));
  },
  s2ab: function (s) {
    if (typeofArrayBuffer !== 'undefined') {
      var buf = newArrayBuffer(s.length);
      var view = newUint8Array(buf);
      for (var i = 0; i != s.length; ++i) {
        view[i] = s.charCodeAt(i) & 0xFF
      }
      returnbuf;
    } else {
      var buf = newArray(s.length);
      for (var i = 0; i != s.length; ++i) {
        buf[i] = s.charCodeAt(i) & 0xFF
      }
      returnbuf;
    }
  },
  saveAs: function (obj, fileName) {//当然可以自定义简单的下载文件实现方式
    var tmpa = document.createElement("a");
    tmpa.download = fileName || "下载";
    tmpa.href = URL.createObjectURL(obj);//绑定a标签
    tmpa.click();//模拟点击实现下载
    setTimeout(function () {//延时释放
      URL.revokeObjectURL(obj);//用URL.revokeObjectURL()来释放这个objectURL
    }, 100);
  }

文章作者: Rabbit
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Rabbit !
  目录