使用js调用接口导出Excel

以下是使用JavaScript调用接口导出Excel文件的一般流程:

客户端向服务器发送请求,请求后端生成Excel文件;

服务器响应该请求,执行Excel生成操作,并将文件数据返回给客户端;

客户端接收到Excel文件数据,使用Blob对象创建二进制对象,然后使用URL.createObjectURL()方法创建URL;

将URL作为超链接添加到DOM文档中以便用户下载。

具体代码如下:

// 给下载按钮绑定“点击”事件
document.getElementById("downloadBtn").addEventListener("click", function(){// 发送后端请求,参数中指定下载类型为Excelfetch('/export', {method: 'POST', data: { type: 'excel' }}).then(function(res){return res.blob(); // 获取Excel文件的二进制数据}).then(function(blob){var url = window.URL.createObjectURL(blob); // 构造Excel文件的URLvar a = document.createElement('a');a.href = url;a.download = 'data.xlsx'; // 指定下载文件名document.body.appendChild(a);a.click(); // 模拟鼠标点击下载window.URL.revokeObjectURL(url); // 释放URL对象});
});

这里采用了fetch()函数来向服务器发送POST请求,并将Excel文件数据转化成blob对象。之后使用createElement()方法动态创建一个超链接元素,将URL地址和下载文件名设置好并把它添加到body中,并模拟鼠标的点击操作来下载文件。最后释放URL对象,减小内存使用。

使用js调用接口导出excel相关推荐

  1. Vue - 调用接口导出 excel 表格至本地

    调用后台接口返回的数据: 代码: // 接口地址 axios.post("/project/download",{type: this.params.type,},{respons ...

  2. swagger接口导出excel文件打不开

    swagger接口导出excel文件打不开: 接口添加produces="application/octet-stream" @ApiOperation(value = " ...

  3. js 调用php 导出表格,[拿来主义]使用layui纯JS导出html页面中的table为excel

    使用场景: 将当前html页面中table的数据导出为excel(分析:页面无分页,不用再查数据库,直接使用js插件导出数据即可) js代码: layui.config({ base: '{$Thin ...

  4. 纯前端js(或者vue)导出excel实现:合并单元格、设置单元格样式、单元格内换行

    前提是安装xlsx,已经可以导出普通的excel npm install --save xlsx file-saver 然后需要安装 npm install xlsx-style 如果运行的时候报错 ...

  5. 如何通过js调用接口

    例如一个接口的返回值如下: var returnCitySN = {"cip": "221.192.178.158", "cid": &qu ...

  6. js 使用前端导出excel,设置标题和页脚,实现特殊表格需求

    js前端导出excel,网上的例子很多,大部分都是使用如下代码: //统计导出$scope.statisExport=function(){toOutPutExcel('statisTable', ' ...

  7. js实现导入导出Excel(结合js-xlsx)

    本文是单纯用前端实现导入导出Excel的功能. 说明: 1.导入要求导入的数据是文本格式. 2.导出是导出json数据到excel文件 demo的githup地址:https://github.com ...

  8. vue基于Blob.js和Export2Excel.js做前端导出excel兼容ie

    这里简单的说一下兼容ie的想法,至于vue怎么使用这两个文件做导出excel这里不加叙述,不会的请自动百度或评论私聊. 对于这个问题的产生,我有两种猜想供讨论,有兴趣的可以验证下 是由于ie的版本产生 ...

  9. JAVA导出Excel到浏览器_多个浏览器下应用前端JS实现一键导出excel表

    1 2 3 4 5 导出表格 6 7 varTmr;8 functiongetExplorer() {9 varexplorer=window.navigator.userAgent ;10 //ie ...

最新文章

  1. mvc4 ajax grid,mvc4中用上一种grid
  2. 华硕WL-500W无线路由器使用感受
  3. UML与软件建模 第三次作业
  4. asp.net % = #区别
  5. 摩托罗拉指控苹果iPhone 4S和iCloud侵犯6项专利
  6. Matlab绘图基础——利用axes(坐标系图形对象)绘制重叠图像 及 一图多轴(一幅图绘制多个坐标轴)
  7. 官方的正则表达式组件 RegularExpressions (4) : 表达式选项
  8. traceroute命令的用法实例
  9. div为空的时候 浮动没有效果_3种CSS清除浮动的方法
  10. python可以在多平台运行 体现了_Python:使用异常处理来判断运行的平台
  11. c++去除图片上的文字_图片文字修改去除方法
  12. Spring核心容器简介
  13. Silverlight的依赖属性与附加属性(四)
  14. Beego 使用笔记
  15. dynamips常用命令
  16. Axure RP8.0仿制知乎页面(更新3)
  17. 计算机组成原理刘超课后答案,计算机组成原理实验教学的研究.doc
  18. 换个角度看发国难财的行为
  19. 唯样商城:常见电阻种类
  20. 信用卡欺诈检测:2021 年顶级机器学习解决方案

热门文章

  1. testtesttesttest
  2. JSP基本语法、3个编译指令、7个动作指令、9个内置对象
  3. 经纬财富:乌海黄金白银暂缓跌势
  4. MySQL中ESCAPE关键字的用法
  5. python求表面积代码_用于计算python中的体积或表面积的良好算法
  6. IDEA-集成VisualVM插件,启动Java VisualVM
  7. Openssl下载网址
  8. 抛弃easyconnent桌面端,使用浏览器插件连接校园内网
  9. 快速上手Luminati的三个使用方法
  10. vulnhub--Thoth Tech: 1