前端导出 导出表单、表格 excel .xlsx


文中使用技术栈

vue3、 Ant Design Vue

导出表单、表格需要的插件

提示:需要下载两个插件:

npm install xlsx -S
npm install file-saver -S

如果是TS 还需要 还需要下载两个类型声明的文件

npm install @types/xlsx --save-dev
npm install @types/file-saver --save-dev

提示:我要导出的表单样式

在这里插入图片描述

一、表单代码实现

	<a-button @click="export2Excel" type="primary">导出</a-button>

    <div id="xlsx">
      <a-table
        :pagination="false"
        :columns="columns"
        :data-source="dataSource"
        bordered
        :rowClassName="setClass"
        size="middle"
      />

      <div style="margin-bottom: 30px"></div>

      <a-table
        :pagination="false"
        :columns="payTypeAmountListColums"
        :data-source="payTypeAmountList"
        bordered
        :rowClassName="setPayTypeAmountListClass"
        size="middle"
      />
    </div>

二、核心代码

      /**
       * @explain: 导出报表
       */
      const export2Excel = () => {
        let ws = XLSX.utils.table_to_book(document.querySelector('#xlsx'))
        let wbout = XLSX.write(ws, {
          bookType: 'xlsx',
          bookSST: true,
          type: 'array'
        })
        // 自定义导出文件名
        let excelname = `${tableTopDetail.channelName}日报表-${tableTopDetail.date}.xlsx`
        FileSaver.saveAs(new Blob([wbout], { type: 'application/octet-stream' }), excelname)
      }

注意这个获取dom节点 这个很关键 文中是有一个 id 为 xlsx 的 div 的
document.querySelector('#xlsx')

最后导出的样子
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值