Vue2纯前端导出

发布时间 2023-11-24 19:04:09作者: 假装摸鱼
 //导出
    exportExcel() {
      //构造数据
      const data = [
        ['姓名', '手机号码', '卡号', '身份等级'],
        ...this.list.map((item) => [item.clientName, item.clientPhone, item.card, item.standing]),
      ]
      let data1 = []
      data1.push(data[0])
      let data2 = []
      for (let i = 0; i < data.length; i++) {
        if (i > 0) {
          data2.push(data[i])
        }
      }
      const arr = data2
      const newArray = arr.filter((subArr) => subArr[subArr.length - 1] === true)
      const newarraytwo = data1.concat(newArray)

      // const newarraytwo = newArray.insert(0, data1)
      // console.log(newarraytwo)
      const workbook = XLSX.utils.book_new()
      const sheet = XLSX.utils.aoa_to_sheet(newarraytwo)
      XLSX.utils.book_append_sheet(workbook, sheet, 'sheet1')
      //将workbook导出为Excel文件
      const execlBuffer = XLSX.write(workbook, {
        bookType: 'xlsx',
        type: 'array',
      })
      const excelBlob = new Blob([execlBuffer], {
        type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
      })
      saveAs(excelBlob, 'data.xlsx')
    },