PC端导出xlsx文件列表

该代码段展示了如何在Vue应用中结合ElementUI的表格组件和file-saver、xlsx库来实现数据下载为Excel文件。首先,导入必要的模块,然后在查询方法中加载数据并显示在表格中。当用户触发下载时,选择表格的DOM节点,将其转换为Excel格式,并使用FileSaver保存为.xlsx文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 下载并引入
import FileSaver from 'file-saver'
import xlsx from 'xlsx'
  1. 使用Element的table表格下载
        queryDetails(obj) {
            this.alllod = this.$loading({  // 全屏loading
                lock: true,
                text: '数据较多,请耐心等待!',
                spinner: 'el-icon-loading',
                background: 'rgba(0, 0, 0, 0.7)'
            });
            this.loading = true
            queryxfyh({
                pageNum: '',
                pageSize: '',
                dc: '2',
                ...obj
            }).then(res => {
                if (res.returnCode == 1) {
                    this.loading = false
                    this.tableData1 = res.returnData
                } else {
                    this.loading = false
                    this.$message({
                        type: "error",
                        center: true,
                        message: res.returnMsg,
                    });
                }
            }).then(() => {
                this.loading = false
                this.getHttpList()
            })
        },
        getHttpList() {
            let xlsxParam = { raw: true }   // 导出内容只做解析,不转换格式,可以解决导出数字过长时的科学计算
            let et = xlsx.utils.table_to_book(document.querySelector('#mxmytable'), xlsxParam); //此处传入table的DOM节点
            let etout = xlsx.write(et, {
                bookType: 'xlsx',
                bookSST: true,
                type: 'array'
            })
            try {
                FileSaver.saveAs(new Blob([etout], {
                    type: 'application/octet-stream'
                }), '下载文件名.xlsx');   //trade-publish.xlsx 为导出的文件名
                this.dialogTableVisible = false
                this.alllod.close();
            } catch (e) {
                console.log(e, etout);
            }
            return etout;

        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值