导出表格为excel文件

不穿参全部导出

    UserExportDemo(){
      //注意传参方式
        console.log('导出人员档案为excel表格')
        let that = this;
        that.allLoading = true; //全局等待loading
        that.$axios1({
            method:'get',
            url:'/api/exportExcelUser', //接口
            responseType:'blob',
        })
        .then((res) => {
            console.log(res.data);
            that.allLoading = false;
            let blob = new Blob([res.data],{type: res.headers['content-type']});
            let downloadElement = document.createElement('a');
            let href = window.URL.createObjectURL(blob); //创建下载的链接
            downloadElement.href = href;
            downloadElement.download =  '人员档案'+'.xls'; //下载后文件名
            document.body.appendChild(downloadElement);
            downloadElement.click(); //点击下载
            document.body.removeChild(downloadElement); //下载完成移除元素
            window.URL.revokeObjectURL(href); //释放掉blob对象
        })
        .catch((err) => {
            console.log(err)
        });
    },

传参导出部分

      //注意传参方式
        exportData(){
            let that = this;
            that.excelloading = true;
            let postData = {    
                'batch.batchId':that.batchidArr,
                'project.projectId':  that.projecridArr
            }
            console.log(postData,'导出传参')
            that.$axios1({
                method:'post',
                url:'GSPdwPC//ExcelReportAction!excelExportProjectInfo.action',
                responseType:'blob',
                data: postData , //将传递的参数变为字符形式
            })
            .then((res) => {
                console.log(res.data);
                that.excelloading = false;
                let blob = new Blob([res.data],{type: res.headers['content-type']});
                let downloadElement = document.createElement('a');
                let href = window.URL.createObjectURL(blob); //创建下载的链接
                downloadElement.href = href;
                downloadElement.download = '工程基本信息表格.xls'; //下载后文件名
                document.body.appendChild(downloadElement);
                downloadElement.click(); //点击下载
                document.body.removeChild(downloadElement); //下载完成移除元素
                window.URL.revokeObjectURL(href); //释放掉blob对象
            })
            .catch((err) => {
                console.log(err)
            });
        },

加密方式导出

 const postData = {
         "type": this.fileprops.type
       }
      //先对传的参数进行加密
       let data1 = utils.encrypt(JSON.stringify(postData))
       this.$axios1({
         method: 'post',
         url:'GSPdwPC/CustomAction!download.action',
         data: that.qs.stringify({'data': data1}),  //传递给后台所需要的数据格式
         responseType: 'blob'
       }).then((response) => {
              let blob = new Blob([res.data],{type: res.headers['content-type']});
              let downloadElement = document.createElement('a');
              let href = window.URL.createObjectURL(blob); //创建下载的链接
              downloadElement.href = href;
              downloadElement.download = '工程基本信息表格.xls'; //下载后文件名
              document.body.appendChild(downloadElement);
              downloadElement.click(); //点击下载
              document.body.removeChild(downloadElement); //下载完成移除元素
              window.URL.revokeObjectURL(href); //释放掉blob对象
       }).catch((err)=> {
         console.log(err)
       })

模板导出

方法一:

可以同上面导出excel一样导出

方法二:

通过a标签进行导出
<a href="直接写测试或者线上的接口地址"><el-button type="info">下载表格模板</el-button></a>

posted @ 2020-08-28 10:30  爱喝可乐的靓仔  阅读(239)  评论(0编辑  收藏  举报