zoukankan      html  css  js  c++  java
  • angularJS使用$http请求下载excel表格

    通常下载一个文件

    window.location.href = '文件'

    就能实现下载一个文件的需求。

    但是如果遇到一些特殊的需求,比如说需要在请求头重加一些属性和值,这样window.location.href就不能满足了。但是可以用angularJS自带的$http来请求,并处理应答数据即可:

        $http({
                    url: '/demo/queryFile.json',
                    method: "GET",//接口方法
                    params: {
                        //接口参数
                    },
                    headers: {
                        'Content-type': 'application/json'
                    },
                    responseType: 'arraybuffer' //重点属性,必须设置
                }).success(function (data, status, headers, config) {
                    var blob = new Blob([data], {type: "application/vnd.ms-excel"}); //这里的格式
                    var objectUrl = URL.createObjectURL(blob);
                    //利用浏览器打开URL实现下载
                    var a = document.createElement('a');
                    document.body.appendChild(a);
                    a.setAttribute('style', 'display:none');
                    a.setAttribute('href', objectUrl);
                    var filename="充值记录.xls";
                    a.setAttribute('download', filename);
                    a.click(); //触发点击,下载文件
                    URL.revokeObjectURL(objectUrl);
                }).error(function (data, status, headers, config) {
            });

    接下来画一下重点:

    1.responseType: 'arraybuffer'/'blob',这个属性一定要添加上,不然返回数据类型会出错。

    2.var blob = new Blob([data], {type: "application/vnd.ms-excel"});

    导出文件的格式如下:

    application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
    application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8
    application/vnd.ms-excel

    按需设置type

    转自:https://blog.csdn.net/qq_34527715/article/details/74285039

  • 相关阅读:
    调试技巧--Windows端口号是否被占用
    如何制定自己的职业规划
    SQL总结(四)编辑类
    SQL总结(三)其他查询
    CompareAndSwap原子操作原理
    JVM调优之服务内存超过阈值报警
    Javassist中文技术文档
    微言Netty:分布式服务框架
    共享变量边界处理
    Netty客户端发送消息并同步获取结果
  • 原文地址:https://www.cnblogs.com/planetwithpig/p/14242123.html
Copyright © 2011-2022 走看看