我们来看下效果演示:
条件假设:

  1. 首先得有一个下载文档的接口,我们假设这个接口的地址是myurl

  2. 其次我们一般使用token来区分用户是否有权下载,假设令牌为token

html部分比较简单

<button type="button" id="test">下载</button>

JS部分(这里假设你引用了jquery)

$(function() {function download(filename) {var oReq = new XMLHttpRequest();oReq.open("GET", myurl, true); /*链接地址后续要修改,改成你要下载的文档地址,也就是接口地址*/oReq.responseType = "blob";oReq.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); oReq.setRequestHeader("Authorization",token); /*token为身份令牌,看你的接口是否需要,若不需要删除这一行即可*/oReq.onload = function (oEvent) {var content = oReq.response;var elink = document.createElement('a');elink.download = filename;elink.style.display = 'none';  var blob = new Blob([content], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8'}); /*type的这个定义文档下载为excel格式*/elink.href = URL.createObjectURL(blob);document.body.appendChild(elink);elink.click();document.body.removeChild(elink);};oReq.send();}$(document).on("click", "#test", function() {download("test");
}

参考文章:

实际结果问题的:
https://www.cnblogs.com/sunweinan/p/excel.html
https://www.cnblogs.com/soyxiaobi/p/9362516.html
解释的很清楚的:
https://www.zhangxinxu.com/wordpress/2017/07/js-text-string-download-as-html-json-file/

前端JS通过Ajax下载后端返回的Excel文档相关推荐

  1. 前端用 js-file-download组件 下载后端返回的Excel文件

    后端接口返回的Excel的文件流需要导出让浏览器下载文件 一.先安装 js-file-download组件 npm install js-file-download --save 二.在对应使用的页面 ...

  2. vue怎么显示/下载后端返回的 .docx文档

    需求: 后端给了一个.docx 文档的url地址,前端要在页面显示或下载这个文档 比如地址是xxx.docx 参考文章:前端预览word文档实现_前端打开word文档_何以为皇的博客-CSDN博客 上 ...

  3. ie浏览器下载门户网站的excel文档出现乱码现象的解决办法

    1.有时候我们部署的网站的相关下载链接通过ie浏览器下载xls文档打开会出现乱码现象. 2.解决方法: 2.1 在部署包web.xml文档中加入如下配置: <!-- ie xls文件直接打开乱码 ...

  4. vue项目中实现下载后端返回的excel数据表格

    查看更多资源 1. 案例简介: vue项目中,客户端需要实现以excel表格形式下载数据,后端为java,接受请求 >> 读取数据库 >> 生成excel >> 返 ...

  5. 前端 js jQuery ajax实现文件流下载, 下载doc,xsl等文件内容乱码问题

    问题描述: 前端通过jQuery ajax接受后端的文件流,前端下载文件后内容乱码 后端代码: Header("Content-type: application/octet-stream& ...

  6. webApi前端ajax调用后端返回{“readyState“:0,“status“:0,“statusText“:“error“}解决方案

    webApi前端ajax调用后端返回{"readyState":0,"status":0,"statusText":"error& ...

  7. 前端处理后端返回的excel文件流并下载

    项目中遇到上传excel,后端写的接口是当重复上传相同信息的excel时会吐出excel二进制文件流,这种文件流需要前端下载供用户看. 首先后端的接口需要上传文件已formData形式上传 这里我用的 ...

  8. 用ajax下载字节流形式的excel文件

    原因:ajax请求只是个"字符型"的请求,即请求的内容是以文本类型存放的.文件的下载是以二进制形式进行的,ajax没法解析后台返回的文件流,所以无法处理二进制流response输出 ...

  9. JAVA毕业设计vue.js开发红酒网站计算机源码+lw文档+系统+调试部署+数据库

    JAVA毕业设计vue.js开发红酒网站计算机源码+lw文档+系统+调试部署+数据库 JAVA毕业设计vue.js开发红酒网站计算机源码+lw文档+系统+调试部署+数据库 本源码技术栈: 项目架构:B ...

最新文章

  1. js,jquery 根据对象某一属性进行排序
  2. 茅台防伪溯源服务器临时维护,如何使用茅台防伪溯源系统?能辨别茅台酒真假?...
  3. 12.history的用法
  4. 根据hibernate拦截器实现可配置日志的记录
  5. 华为机试——求int型正整数在内存中存储时1的个数
  6. 徽柏工业机器人_国产工业机器人龙头企业,是这家徽商!
  7. python订单管理系统软件_有什么订单管理软件系统是好用的?
  8. Java面试题:Java垃圾收集有哪些算法,AQS组件总结
  9. 网页设计引入的字体包过大的压缩方法
  10. U盘防病毒从七方面做起
  11. 中学教师资格考试作文真题
  12. 在html里ff3d3d是什么颜色,HTML一些颜色方面的参考
  13. 有关java的演讲稿_有关超级演说家励志的演讲稿
  14. 微博签到数据——北京、上海、昆明、深圳(2018-2022已更新完毕)
  15. Ant Design Pro 企业级后台实战(73 个视频)
  16. 计算机里的word怎么重装,word能卸载重装吗 word卸载重装
  17. 【Deep Learning】Transformers Assemble(PART I)
  18. 15.在springboot中的事务处理
  19. Riemann积分和Lebesgue积分角度下一积分不等式的等号成立充要条件的研究
  20. iphone12mini是双卡双待吗

热门文章

  1. 人体轮廓_她用硅树脂打造反人体曲线的怪诞廓形Oversize设计,极具爆发性的雕塑感时装!...
  2. kubectl 创建pvc_动态挂载云盘(PVC)
  3. 信息源按加工深度划分_铝合金插铣加工切削力分析及成屑弧区划分
  4. C指针原理(25)-gtk
  5. 【机器学习】图解机器学习中的 12 种交叉验证技术
  6. 95后程序员晒出工资单:狠补了这个,真香…
  7. 【机器学习】太香啦!只需一行Python代码就可以自动完成模型训练!
  8. 【深度学习】使用Python+PyTorch预测野外火灾
  9. 【机器学习基础】数学推导+纯Python实现机器学习算法24:LightGBM
  10. 深度学习笔记 第四门课 卷积神经网络 第二周 深度卷积网络:实例探究