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

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

7 人参与  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://m.zhangshiyu.com/post/163416.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

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

最新文章

  • 重生后我和太监联手灭了敌国喻辰,林雪续集(重生后我和太监联手灭了敌国)终极反转(喻辰,林雪)全篇一口气阅读
  • 我不做灵媒后,自称灵媒摆渡人的养妹害怕了内容精选_苏晓霍老阿姐无广告_小说后续在线阅读_无删减免费完结_
  • 前传一别再无相见续集:全文+番外戚许许樵风:结局+番外新上热文
  • 嫂子照顾我怀孕生子,我倒欠她一个孩子最新目录_老公婆婆龙凤胎一口气看完_小说后续在线阅读_无删减免费完结_
  • 卿本祸水小说(苏窈,冰冷,萧霁寒)+起点章节(卿本祸水)阅读
  • 楚寻眠周煜衡小说(明月不照离人泪)章节目录+起始篇章(楚寻眠周煜衡)全章无套路在线
  • 末世重生,我以暴杀丧尸开始氪命无敌完结txt_张凡林婉清独家番外_小说后续在线阅读_无删减免费完结_
  • 顾泽茗林依依小说无删减阅读无干扰(总裁,请原地投降)番外+续集
  • 公主她唯我独尊,一刀一个气运者结局+番外_怀江厉沉锋高分言情_小说后续在线阅读_无删减免费完结_
  • 沈清霜顾砚之:结局+番外免费品鉴黑莲花嫡女:首辅大人天天护短:结局+番外评价五颗星
  • 学神演舔狗,毕竟他妈给的太多了列表_学神演舔狗,毕竟他妈给的太多了(苏允沈司野)
  • 多子多福,从百妻千子到万古仙朝最新试读_叶枫林清音连载_小说后续在线阅读_无删减免费完结_

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

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