vue 导出数据

1.点击“导出数据按钮”

  getExportList(data) {
      getExport(data).then((res) => { // 导出数据调用接口
        this.checkedtages2 = ''
        this.exportPathMethod(res.data)// 导出数据做处理
      })
    },
//最重要的一部 exportPathMethod(data) {
// 要导出的json数据 var jsonData = data let str1 = '' for (const i in jsonData[0]) { str1 += ',' + i } str1 = str1.substring(1) str1 = str1 + '\n' let str = `${str1}` // 列标题,逗号隔开,每一个逗号就是隔开一个单元格 // let str = `用户名称,会员等级,最近购买时间,消费次数,消费金额,用户账号,订单均价\n` // 增加\t为了不让表格显示科学计数法或者其他格式 for (let i = 0; i < jsonData.length; i++) { for (const item in jsonData[i]) { str += `${jsonData[i][item] + '\t'},` } str += '\n' } // encodeURIComponent解决中文乱码 const uri = 'data:text/csv;charset=utf-8,\ufeff' + encodeURIComponent(str) // 通过创建a标签实现 var link = document.createElement('a') link.href = uri // 对下载的文件命名 link.download = '客户管理列表.xls' document.body.appendChild(link) link.click() },

vue 下载文件

         excelDown:function(type,data){
                var self = this;
                self.fileExcelIdString="";
                if(type===2){
                    if(!(self.selectedFileData.length>0)){
                        return self.$message({
                            type: 'info',
                            message: '请先选择数据!'
                        });
                    }
                    self.selectedFileData.forEach(function (item,index) {
                        self.fileExcelIdString=self.fileExcelIdString+item.fileId+","
                        self.excelDownStart(item.fileName,item.fileId);
                    });
                    self.fileExcelIdString= self.fileExcelIdString.substr(0,self.fileExcelIdString.length-1);
                };
                if(type===1){
                    self.fileExcelIdString=self.fileExcelIdString+data.fileId;
                    self.excelDownStart(data.fileName,data.fileId)
                }
            },
            excelDownStart:function (fileName,fileId) {
                var url=_contextPath + "/dataps/inter/download/"+fileId;//根据ID下载地址
                var userAgent = navigator.userAgent.toLowerCase();
                var isIe = /(msie|trident).*?([\d.]+)/.test(userAgent);
                if (isIe) { // IE
                    window.open(url, '_blank')
                } else {
                    var a = document.createElement('a'); // 创建a标签
                    var e = document.createEvent('MouseEvents'); // 创建鼠标事件对象
                    e.initEvent('click', false, false) // 初始化事件对象
                    a.href = url; // 设置下载地址
                    a.download = fileName + moment(new Date().getTime()).format('YYYY-MM-DD HH:mm:ss'); // 设置下载文件名
                    a.dispatchEvent(e);
                }
            }

  

posted @ 2019-05-24 12:55  Empress&  阅读(2815)  评论(0编辑  收藏  举报