请求用的axios
请求函数封装
req.js

import axios from 'axios'
const api = axios.create({baseURL : _getBaseUrl(),
});
function _getBaseUrl(){const env = process.env.NODE_ENV;if (env === 'production') {return 'http://xxx.xxx.x.xxx:8080'}return 'http://xxx.xxx.x.xxx:8080'
}
/*** 上传文件* @param {请求目录文件} url * @param {文件对象} file * @param {成功回调函数} _cb * @param {失败回调函数} _catchcb */
export function uploadFile (url,file,_cb,_catchcb) {const fd = new FormData();fd.append('file',file)return api.post(url,fd,{headers : {'Content-Type' : 'multipart/form-data','Access-Control-Allow-Origin' : '*'}}).then(_cb).catch(_catchcb)
}
/*** 下载文件* @param {请求url} url * @param {成功回调函数} _cb * @param {失败回调函数} _catchcb */
export function downLoadFile (url,_cb,_catchcb) {return api.get(url,{responseType: 'blob'},{responseType: 'arraybuffer',headers : {'Content-Type' : 'application/json',}}).then(_cb).catch(_catchcb)
}

处理服务端返回文件,工具类封装
tools.js

  /*** 处理下载的报表* @param {file}  文件对象* @param {filename}  需要保存的文件对象名称* 保存的文件格式为:filename-年月日.xlsx*/export function operateFile (file,filename) {let fileName = fname + "-" + new Date().getFullYear() + '' +( new Date().getMonth()+1)  + '' +new Date() .getDate()+".xlsx";let blobObject = new Blob([file], {type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}); //是IE浏览器if(!!window.ActiveXObject || "ActiveXObject" in window){window.navigator.msSaveOrOpenBlob(blobObject,fileName);}else{//火狐谷歌都兼容//模板中要有一个预定义好的a标签let link = document.getElementById('a_id')link.href = URL.createObjectURL(blobObject);link.download = fileNamelink.click();}}export default{operateFile: operateFile,}

组件中调用

<template><div class="inputWrapper"><a id="a_id"></a><button class="confirmBtn" @click="dl_confirm">确&nbsp;定</button>     </div>
</template>
<script>data() {return {};},methods: {dlConfirm:function(dlData){//下载报表弹框的确定按钮console.log(dlData)this.downLoadShow = falselet that = thislet data = {"aaa":ccc,"bbb":ddd}let url = "/terminal/export?"+qs.stringify(data)downLoadFile(url,function(res){console.log(res)if (res.data) {tools.operateFile(res.data,"xxx")} else {console.log("失败")}},function(err){console.log(err)that.showToast(err)})},}</script>

vue中下载excel文件相关推荐

  1. vue中下载excel的使用,后端链接两种情况,一个是链接,一个是文件流

    vue中下载excel使用 一.这是第一种情况,后台链接地址返回的是一个url,这个时候我只要在导出按钮上绑定exportData()这个事件方法就好了 exportData() {this.time ...

  2. vue中导入excel文件

    vue中导入excel文件 1.安装插件 npm install -S file-saver xlsxnpm install -D script-loader 2.在utils中创建excel文件夹放 ...

  3. Vue 中实现 excel文件上传功能

    场景: 上传excel表,并将excel表中的数据构建成实体 <div class="pull-right" v-if="doc"><el-u ...

  4. vue前端下载excel文件

    // html <el-button type="primary" plain @click="frontDownload">本地下载</el ...

  5. react接收后端文件_React获取Java后台文件流并下载Excel文件流程解析

    记录使用blob对象接收java后台文件流并下载为xlsx格式的详细过程,关键部分代码如下. 首先在java后台中设置response中的参数: public void exportExcel(Htt ...

  6. java文件流下载excel_React获取Java后台文件流下载Excel文件

    记录使用blob对象接收java后台文件流并下载为xlsx格式的详细过程,关键部分代码如下. 首先在java后台中设置response中的参数: public void exportExcel(Htt ...

  7. vue实现下载EXCEL模板、导入EXCEL文件

    vue实现下载EXCEL模板.导入EXCEL文件 在项目中很常见需要先下载模板,根据模板导入 下面展示一些 下载模板代码片段. 需要有一个下载模板的接口,点击下载触发函数,调用接口,返回下载地址 接口 ...

  8. Vue 下载 Excel 文件

    Vue 下载 Excel 文件 Vue前端将List列表下载为Excel文件 安装依赖包 首先前端将List列表生成Excel文件需要下载几个依赖包. npm install -S file-save ...

  9. vue中下载文件导出保存到本地

    vue中下载文件导出保存到本地 先分析如何下载:先有一个链接地址,然后使用 location.href或window.open()下载到本地 看看返回数据 res.config.url 中是下载链接地 ...

最新文章

  1. 有关scanf输入的问题
  2. HDU 5741 Helter Skelter(构造法)
  3. 使用Python将字符串转换为格式化的日期时间字符串
  4. 算命大仙的黄金时代?一年轻松赚5亿…..
  5. java小程序详解_微信小程序登录Java后台接口(详解,附示例代码)
  6. Jenkins进阶-Gitlab使用Webhook实现Push代码自动部署(3)
  7. STM32 USB数据接收与数据发送程序流程分析
  8. 我可以在输入字段上使用:before或:after伪元素吗?
  9. 学习delphi FMX 的一些资料
  10. 计算机没有光驱降无法启动,windows 未能启动 原因可能是最近更改了硬件或软件 没有光驱怎么办...
  11. 数字游戏 -- 寻找缺失的数字
  12. 服务器断电重启,mysql未启动。
  13. MATLAB 矢量场
  14. PowerDesigner导入现有表结构
  15. [二] X 名称空间
  16. 资产监测设备中二极管单向性和三相电电流流向问题
  17. 详解 Web Worker,不再止步于会用
  18. Fabric 系统链码
  19. 《剑指Offer》刷题之最小的K个数
  20. JGJT420-2017 聚苯模块保温墙体应用技术规程 免费下载

热门文章

  1. boat启动器 minecraft_我的世界boat启动器
  2. 如何办理ITSS资质
  3. 创客(米思奇编程)-04-点阵屏的控制
  4. html简单个人网页制作 出行网站设计——凤阳旅游(6页) HTML5期末考核大作业,网站——旅行网站
  5. 基于web的静态校园新闻网站系统设计与实现(含论文和静态网站源码)
  6. 浅谈直流电机并联瓷片电容的作用
  7. java中判断是不是数字
  8. 计算机考试PPT2003好考吗,2015职称计算机考试《Powerpoint2003》备考点(1)
  9. 基于JAVA社区团购系统计算机毕业设计源码+系统+lw文档+部署
  10. QT小项目--头脑风暴