zoukankan      html  css  js  c++  java
  • http请求post,返回excel文件,并接收

    1.post的方法里要加responseType: 'arraybuffer'参数,不然下载的excel会乱码

    2.使用{type: "application/vnd.ms-excel"}的写法,可以保存为xls格式的excel文件(兼容老版本)。而使用“application/vnd.openxmlformats-officedocument.spreadsheetml.sheet”则会保存为xlsx

    3.返回结果为下载excel文档链接,使用window.open(result)即可

    4.使用增加节点调用click方法,而不使用window.open(objectUrl)方法,是防止被浏览器当插件屏蔽弹出连接

    5.给文件设定名字,直接在a标签的download属性中设置即可

    $http.post({
         url:'staffRoster/exportStaffrosterTemplate',
         data:sendData,
         responseType: 'arraybuffer'
        }).success(function(res){
            var blob = new Blob([res], {type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"});
            var objectUrl = URL.createObjectURL(blob);
            var a = document.createElement("a");
            document.body.appendChild(a);
            a.style = "display: none";
            a.href = objectUrl;
            a.download = '员工信息表';
            a.click();
            document.body.removeChild(a);
        })
  • 相关阅读:
    VMware下Linux配置网络
    前端知识之查漏补缺二
    前端网络基础查漏补缺篇
    简单实现Promise
    前端知识之查漏补缺-1
    git tag
    云服务器安装node环境 mysql nginx
    js动画
    vue原理之双向绑定虚
    js的封装、继承与多态
  • 原文地址:https://www.cnblogs.com/HappyYawen/p/8623852.html
Copyright © 2011-2022 走看看