加载数据 下载Excel文件

/**
   * 导出列表方法
   * @param {*} data  需要导出的数据  数组形式  [[表头],[数据1],[数据2]...]
   * @param {*} fileName 下载的文件名称
   * @param {*} titleName 表格标题
   * @param {*} type
   */
function downloadExl(data, fileName,titleName,type) {
    const self = this;
    const range = data[0].length - 1;
     const wopts = { bookType: 'xlsx', bookSST: false, type: 'binary' };
      const wb = { SheetNames: ['Sheet1'], Sheets: {}, Props: {} };
      data = XLSX.utils.json_to_sheet(data); 
      data["A1"] = { t: "s", v: titleName}; //设置表格标题
      data["!merges"] = [{//合并第一行数据[B1,C1,D1,E1]
      s: {//s为开始
                c: 0,//开始列
                r: 0,//开始取值范围
                alignment: {horizontal: "center" ,vertical: "center"}
            },
            e: {//e结束
                c: range,//结束列
                r: 0//结束范围
            }
        }];
      wb.Sheets['Sheet1'] = data;
      self.saveAs(new Blob([this.s2ab(XLSX.write(wb, wopts))], { type: "application/octet-stream" }), fileName + '.' + (wopts.bookType=="biff2"?"xls":wopts.bookType));
      };
/**
   * 导出列表方法   数据转换
   * @param {*} s
   */
  exports.s2ab = function(s) {
    if (typeof ArrayBuffer !== 'undefined') {
        var buf = new ArrayBuffer(s.length);
        var view = new Uint8Array(buf);
        for (var i = 0; i != s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;
        return buf;
    } else {
        var buf = new Array(s.length);
        for (var i = 0; i != s.length; ++i) buf[i] = s.charCodeAt(i) & 0xFF;
        return buf;
    }
  };

转自:https://www.cnblogs.com/toyNotes/p/8617483.html

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值