vue + XLSX支持导入excel文件列表展示校验结果,支持在列表编辑后再次导入和导出

发布时间 2023-11-13 00:17:20作者: 松树戈
最近接到一个奇葩业务,需求如标题,比较考验前端技能
回去捣鼓一下测试项目
此处先简要记录一下代码,后序完善11-13
const tableData = [['标的编号', '标的金额', '投资期数', '年化利率', '已投金额', '投资人数', '发布时间', '开始日期', '结束日期', '还款方式', '状态']]
        this.gridData.forEach(item => {
          let rowData = []
          rowData = [
            item.lendNo,
            item.amount,
            item.period,
            item.lendYearRate,
            item.investAmount,
            item.investNum,
            item.publishDate,
            item.lendStartDate,
            item.lendEndDate,
            item.param.returnMethod,
            item.param.status
          ]
          tableData.push(rowData)
        })
        const firstSheet = XLSX.utils.aoa_to_sheet(tableData)
        const workBook = XLSX.utils.book_new()
        XLSX.utils.book_append_sheet(workBook, firstSheet, '信息')
        XLSX.utils.book_append_sheet(workBook, [[]], 'openFlag')
        // 核心
      const options = {
        bookType: 'xlsx',
        bookSST: false,
        type: 'binary'
      }
      const wbout = XLSX.write(workbook, options)
      console.log('wbout', wbout)
      const file = new File([wbout], '文件名称.xlsx', {
        type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
      })
      console.log('file', file)
      const formData = new FormData()
      formData.append('file', file)
      formData.append('fileType', 'land')
      const url = this.BASE_API + 'admin/core/file/uploadFile'
      axios({
        url: url,
        method: 'post',
        data: formData,
        headers: {
          'Content-Type': 'multipart/form-data'
        }
      }).then(() => {})
      fileApi.uploadFile(formData)
      console.log('formData', formData)
      return
————————————————
版权声明:本文为CSDN博主「松树戈」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_41725131/article/details/134368245