前端导出功能(不连后端的方法)

1. 首先安装依赖

npm install xlsx --save

2. 在组件中导入 xlsx

import XLSX from 'xlsx';

//导出功能前端(tabledata表单的$el数据, excelName表单名称),传给后端的数据格式一般为[[{},{}],[{},{}],]最里面的数组里不能再出现数组

export function exportExcel(tabledata, excelName){

  try {

    // 如果表格加了fixed属性,则导出的文件会生产两份一样的数据,所以可在这里判断一下

    let $table = null

    if (tabledata.querySelector(".el-table__fixed")) {

      $table = tabledata.querySelector(".el-table__fixed");

    }else{

      $table = tabledata.querySelector(".el-table__fixed-right");

    }

    if (!$table) {

      $table = tabledata;

    }

    // 为了返回单元格原始字符串,设置{ raw: true }

    const wb = XLSX.utils.table_to_book($table, { raw: true });

    const wbout = XLSX.write(wb, {

      bookType: "xlsx",

      bookSST: true,

      type: "array",

    });

    FileSaver.saveAs(

      new Blob([wbout], { type: "application/octet-stream" }),

      excelName + ".xlsx"

    );

  } catch (e) {

    if (typeof console !== "undefined") console.error(e);

  }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值