当前位置:首页 » 《资源分享》 » 正文

如何实现后端返回excel文件,在前端下载功能

17 人参与  2024年09月23日 13:20  分类 : 《资源分享》  评论

点击全文阅读


前言

简单记录一下,excel文件导出下载功能

一、后端接口返回excel文件

把自己生成的workbook 以文件流的方式,返回前台

Workbook workbook = employeeConfirmationDefectService.exportPoorPolishExcel(budatBegin, budatEnd, queryWrapper);        //传输到前端下载        try {            response.setHeader("content-Type", "application/vnd.ms-excel");            response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode("抛光不良记录.xlsx", "UTF-8"));            workbook.write(response.getOutputStream());            workbook.close();        } catch (IOException e) {            throw new RuntimeException(e);        }

二、前端接受文件流,下载文件

发送post请求,设定responseType: ‘blob’,指定响应数据为文件对象

export function postExcelExport(url,parameter) {  let sign = signMd5Utils.getSign(url, parameter);  //将签名和时间戳,添加在请求接口 Header  let signHeader = {"X-Sign": sign,"X-TIMESTAMP": signMd5Utils.getDateTimeToString()};  return axios({    url: url,    method:'post' ,    params: parameter,    headers: signHeader,    responseType: 'blob'  })}

调用导出方法,发送请求

//导出下载excel文件handleExportXls() {      this.loading = true      postExcelExport(this.url.export, this.queryParam)        .then((data) => {          console.log(data)          if (!data) {            this.$message.warning('文件下载失败')            return          }          if (typeof window.navigator.msSaveBlob !== 'undefined') {            window.navigator.msSaveBlob(              new Blob([data], { type: 'application/vnd.ms-excel;charset=utf8' }),              '文件名' + '.xls'            )          } else {            let url = window.URL.createObjectURL(new Blob([data], { type: 'application/vnd.ms-excel;charset=utf8' }))            let link = document.createElement('a')            link.style.display = 'none'            link.href = url            link.setAttribute('download', '文件名' + '.xls')            document.body.appendChild(link)            link.click()            document.body.removeChild(link) //下载完成移除元素            window.URL.revokeObjectURL(url) //释放掉blob对象          }        })        .finally(() => {          this.loading = false        })    },

点击全文阅读


本文链接:http://zhangshiyu.com/post/163416.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 被豪门新郎打断肋骨后,豪门慌了全文免费在线阅读_[周贺顾秉天顾明珠]章节彩蛋限时释出‌
  • [斤斤计较的老婆]节选隐藏剧情入口‌_林倩朋友美其名曰无弹窗阅读
  • 你揽星辰我拥黄昏+后续+结局(尤雾眠晏沉舟)列表_你揽星辰我拥黄昏+后续+结局
  • 听说你爱我独家章节限时试读_江时闻小雨朋友限时免费***章节速览
  • 完结文爱如蜉蝣,朝生暮死列表_完结文爱如蜉蝣,朝生暮死(沈栀晏淮)
  • 爱如蜉蝣,朝生暮死沈栀晏淮结局+番外(沈栀晏淮)全书免费_(沈栀晏淮免费爱如蜉蝣,朝生暮死沈栀晏淮结局+番外读全书)列表_笔趣阁爱如蜉蝣,朝生暮死沈栀晏淮结局+番外
  • 爱意随风搁浅完结版免费阅读_陆竞野绵绵宝宝口碑神作必读篇章
  • 爱乃因果(孟夏瑜)_爱乃因果列表_笔趣阁(爱乃因果)
  • 给你的第三封信是遗言全书+后续+结局(沈佳芮顾温言)列表_给你的第三封信是遗言(沈佳芮顾温言)给你的第三封信是遗言全书+后续+结局在线
  • (番外)+(全书)苔藓爬满旧日诺言全书+后续***_(顾砚廷慕晚夏)苔藓爬满旧日诺言全书+后续列表_笔趣阁(顾砚廷慕晚夏)
  • 花落花开终别离结局+番外(祁欢江临州)全祁欢江临州文结局_祁欢江临州+结局列表_笔趣阁(花落花开终别离结局+番外)
  • 抓阄选妻角色专属支线试读入口_珊珊刘思语周承小说节选试读

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1