导出excel表格(兼容IE)

本文介绍了一种使用前端技术实现导出数据为Excel文件的方法。通过POST请求将数据发送到服务器,然后以Blob形式接收响应,最终利用HTML5的a标签和download属性完成文件下载。此方法适用于需要将表格数据导出为Excel格式的应用场景。
export(url, param, fileName) {
    return new Promise(resolve => {
        instance({
            method: 'post',
            url,
            headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
            data: qs.stringify(param),
            responseType: 'blob',
        })
            .then(res => {
                const blob = new Blob([res.data], { type: 'application/vnd.ms-excel' });
                if (window.navigator.msSaveOrOpenBlob) {
                    window.navigator.msSaveBlob(blob, fileName);
                } else {
                    const linkNode = document.createElement('a');
                    linkNode.download = fileName; // a标签的download属性规定下载文件的名称
                    linkNode.style.display = 'none';
                    linkNode.href = URL.createObjectURL(blob); // 生成一个Blob URL
                    document.body.appendChild(linkNode);
                    linkNode.click(); // 模拟在按钮上的一次鼠标单击
                    URL.revokeObjectURL(linkNode.href); // 释放URL 对象
                    document.body.removeChild(linkNode);
                }
                resolve('导出成功');
            })
            .catch(err => {
                console.error(err);
            });
    });
}

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值