验证码: 看不清楚,换一张 查询 注册会员,免验证
  • {{ basic.site_slogan }}
  • 打开微信扫一扫,
    您还可以在这里找到我们哟

    关注我们

Vue前端表格导出Excel文件的方法是什么

阅读:647 来源:乙速云 作者:代码code

Vue前端表格导出Excel文件的方法是什么

      1. 页面

      Vue前端表格导出Excel文件的方法是什么

      2.代码

      2.1 核心方法
      /**
       * 表格数据导出Excel实际方法
       * @param list
       */
      const exportList = (list) => {
        //表格表头,导出表头
        let tableHeader = [['#', '资产编号', '资产名称', '资产类别', '资产型号', "资产单价", "资产金额",
          "生产厂家", "生产日期", "购买日期", "购买人", "状态", "库存数量"]]
        list.forEach((item, index) => {
          let rowData = []
          //导出内容的字段
          rowData = [
            index + 1,
            item.zcbh,
            item.zcmc,
            item.name,
            item.zcxh,
            item.zcdj,
            item.zcje,
            item.sccj,
            currencyFormatDate(item.scrq),
            currencyFormatDate(item.gmrq),
            item.gmr,
            item.sts,
            item.kcsl,
          ]
          tableHeader.push(rowData)
        })
        let wb = XLSX.utils.book_new()
        let ws = XLSX.utils.aoa_to_sheet(tableHeader)
        XLSX.utils.book_append_sheet(wb, ws, '资产设备基本信息') // 工作簿名称
        XLSX.writeFile(wb, '资产设备基本信息.xlsx') // 保存的文件名
      }

      将这个导出方法单独封装出来,带一个参数,即需要导出的所有数据的List集合,那么在调用的时候传参即可使用。

      1. tableHeader 定义表格的表头(此处并不是很严谨,因为还包含了表格的数据,暂时为空,后面遍历时传入)。

      2. rowData 是表格具体数据内容的数组,遍历时传入。

      3. tableHeader.push(rowData) 将内容放入tableHeader中,形成完整的表格数据。

      4. let wb = XLSX.utils.book_new() 定义表格实例。

      5. let ws = XLSX.utils.aoa_to_sheet(tableHeader) 创建工作簿,将表格内容放入工作簿。

      2.2 调用方法
      /**
       * 表格数据导出Excel调用方法
       */
      const exportExcel = () => {
        ElMessageBox.confirm(
                '确定导出资产设备基本信息表吗?',
                '提示',
                {
                  confirmButtonText: '确定',
                  cancelButtonText: '取消',
                  type: 'warning',
                }
        )
                .then(async () => {
                  let list = [];
                  const res = await request.get("asset/listAll");
                  console.log(res)
                  list = res.data.assetsAllList
                  exportList(list);
                  if (res.data.code === 200) {
                    ElMessage({
                      type: 'success',
                      message: '即刻开始下载',
                    })
                  }
                })
                .catch(() => {
                })
      }

      await request.get(“asset/listAll”) 请求后端接口,拿到结果。将结果中的集合赋值给提前定义好的list数组list = res.data.assetsAllList。用了MessageBox消息弹框,根据自己的实际需求哈用到了异步等待,上面的request.get是自己封装的axios方法 

      3.演示

      Vue前端表格导出Excel文件的方法是什么

      Vue前端表格导出Excel文件的方法是什么

      Vue前端表格导出Excel文件的方法是什么

    分享到:
    *特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: hlamps#outlook.com (#换成@)。
    相关文章
    {{ v.title }}
    {{ v.description||(cleanHtml(v.content)).substr(0,100)+'···' }}
    你可能感兴趣
    推荐阅读 更多>