Ajax配合后端实现Excel的导出 您所在的位置:网站首页 ios导出excel Ajax配合后端实现Excel的导出

Ajax配合后端实现Excel的导出

2023-03-25 05:16| 来源: 网络整理| 查看: 265

一、需求 在我们的日常开发中,可能经常需要遇到excel的导出,以往excel的导出服务器端都是使用的 GET 方法,但是某些情况下,服务器端只能使用 POST 方法,那么我们有没有好的方法实现excel的导出呢,并且页面最好不要刷新。

二、实现思路 1、方案一:我们可以使用ajax拿到服务器端返回的 数据下载流,然后借助 Blob 对象,在动态的创建一个 a 链接,那么也可以实现。 2、方案二:动态创建一个 iframe 标签下载,这种方案可以POST请求可能就无法下载了。 3、方案三:页面上动态的创建一个form然后提交这个form。 此处我们使用 方案一 即使用 ajax 来实现。

三、实现步骤 1、ajax请求的发送我们使用axios库来完成,axios的responseType需要设置成Blob,默认是json。 2、创建 Blob对象 3、创建a标签 4、触发下载动作

四、前端代码

ajax 文件导出 导出 function exportExcel() { axios({ method: 'POST', url: "http://localhost:8080/export", timeout: 5000, responseType: 'blob' }).then(function (res) { var data = res.data; var blob = new Blob([data], {type: 'application/octet-stream'}); var url = URL.createObjectURL(blob); var exportLink = document.createElement('a'); exportLink.setAttribute("download","ajax文件下载.xlsx"); exportLink.href = url; document.body.appendChild(exportLink); exportLink.click(); }) }

©著作权归作者所有:来自51CTO博客作者火炎炎燚的原创作品,请联系作者获取转载授权,否则将追究法律责任 Ajax配合后端实现Excel的导出 https://blog.51cto.com/u_10535186/5382607



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有