excell的新导出

1.导入依赖包

npm install --save xlsx@0.17.0
npm install --save file-saver@2.0.5
npm install -D script-loader

2.js文件
import * as XLSX from 'xlsx'
// 对象,用于调用方法
var dataConversionUtil = {}

// 将数据转换成Excel,单个sheet保存
// fileName文件名,tableHeader表头,dataList表数据,sheet="sheet1"工作表默认名字是sheet1
dataConversionUtil.dataToExcel = function(fileName, tableHeader, dataList, sheet = 'sheet1') {
  // excel的表头和数据
  let aoa = []
  // aoa的数据格式:[[],[],[],[]]   数组的第一个子数组可以指定为表头  根据情况而定
  aoa = tableHeader.concat(dataList)

  const workSheet = XLSX.utils.aoa_to_sheet(aoa)
  const workBook = XLSX.utils.book_new()

  // 把数据写到工作簿中
  XLSX.utils.book_append_sheet(workBook, workSheet, sheet)
  // 如果一个工作工作簿中有多个工作表,可以修改参数类型并遍历添加,期中workBook是同一个,workSheet和sheet根据自己的需求添加,
  // 比如在此处添加第二个工作表叫‘第二张表’,把数据封装好后,数据格式同上,假如数据叫workSheet2,执行下面代码,工作簿就会多一张工作表叫‘第二张表’
  // XLSX.utils.book_append_sheet(workBook,workSheet2,'第二张表')
  // 保存
  XLSX.writeFile(workBook, fileName + '.xlsx')
}

export { dataConversionUtil }
3.引用

 excelExport() {
      // eslint-disable-next-line no-undef
      const filename = '卡列表(' + moment(new Date()).format('YYYY-MM-DD') + ')'
      this.pagesize = this.limit
      this.fetchData()
      var tableHeader = [
        ['iccid', 'msisdn', 'imei', 'imsi', '套餐']
      ]
      var dataList = []
      if (this.relist.length > 0) {
        this.relist.forEach((item, index) => {
          dataList.push([item.iccid, item.msisdn, item.imei, item.imsi, item.plan])
        })
        // eslint-disable-next-line no-undef
        dataConversionUtil.dataToExcel(filename, tableHeader, dataList)
      } else {
        this.list.forEach((item, index) => {
          dataList.push([item.iccid, item.msisdn, item.imei, item.imsi, item.plan])
        })
        // eslint-disable-next-line no-undef
        dataConversionUtil.dataToExcel(filename, tableHeader, dataList)
      }
    },

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值