前言

在做 excel 导出时,经常需要导出选中的行,然选中的行需要将 id 传给后台,如果使用 get 方式导出,在浏览器地址栏能导出的行数是有限。此时,就需要用到 POST 方式导出了。

环境

  • axios
  • element-ui
  • vue 2.5.2

POST导出

request.js

import axios from 'axios'
import { Message } from 'element-ui'
/*** 请求函数*/
const request = (url, data = {}, method = 'post', options = {}) => {return axios.request({url,data,method,...options})
}/*** 从服务器下载excel*/
const postDownload = (url, data) => {const defaultOptions = {responseType: 'arraybuffer'}request(url, data, 'post', defaultOptions).then(res => {const filename = decodeURI(res.headers['content-disposition'].split('filename=')[1])if ('download' in document.createElement('a')) {downloadFile(res.data, filename)} else {Message.error('浏览器不支持')}})
}/*** blob下载(兼容IE)* @param {String} content 文件内容* @param {String} filename 文件名*/
const downloadFile = (content, filename) => {const blob = new Blob([content])// IEif (window.navigator && window.navigator.msSaveOrOpenBlob) {window.navigator.msSaveOrOpenBlob(blob, filename)} else {imatateDownloadByA(window.URL.createObjectURL(blob), filename)}
}/*** 通过a标签模拟下载* @param {String} href* @param {String} filename*/
const imatateDownloadByA = (href, filename) => {const a = document.createElement('a')a.download = filenamea.style.display = 'none'a.href = hrefdocument.body.appendChild(a)a.click()a.remove()// 释放掉blob对象window.URL.revokeObjectURL(href)
}

测试下载

postDownload('http://locahost:3000/excel/export')

参考

https://www.jianshu.com/p/a81c68c15fbd

post导出excel相关推荐

  1. java struts2 excel上传_Java Struts2 实现数据库数据导出Excel文件

    HTML: 导出 Struts.xml true application/vnd.ms-excel;charset=GBK excelStream attachment;filename=${file ...

  2. Java springMVC POI 导出 EXCEL

    2019独角兽企业重金招聘Python工程师标准>>> 思路 : 将需要导出的数据存放在一个List中 创建一个EXCEL表 注意 XSSFWorkbook 只能操作2007以上的版 ...

  3. 如何优雅的导出 Excel

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 来源:juejin.im/post/5c6b6b126fb9a04 ...

  4. Java报表工具FineReport导出EXCEL的四种API

    在实际的应用中会经常需要将数据导出成excel,导出的方式除原样导出还有分页导出.分页分sheet导出和大数据量导出.对于excel 2003版,由于限制了每个sheet的最大行数和列数,大数据量导出 ...

  5. html导出excel时换行符,ASP.NET 导出到Excel时保留换行的代码

    完整代码: protected void Button1_Click(object sender, EventArgs e) { System.Web.HttpContext curContext = ...

  6. java 导出excel 注解_Java基于注解和反射导入导出Excel

    list = ei.getDataList(User.class); for (User user : list){ try{ //to do: 保存/处理数据 //userService.save( ...

  7. 导出excel 数字前少0_【产品介绍】数字压力校验仪

    数字压力校验仪 24V供电 + (4-20)Ma测量 调节7位设置数字显示 | 可拆卸充电锂电池 现场.实验室压力校准系统CWY300数字压力校验仪,是我公司推出的新一代高精度.高稳定.兼具工业4.0 ...

  8. NPOI导入导出EXCEL通用类,可直接使用在WinForm项目中

    由于XSSFWorkbook类型的Write方法限制,Write完成后就自动关闭流数据,所以无法很好的支持的Web模式,网上目前也未找到好的解决方案. 注意:若直接使用在WinForm项目中,必需先下 ...

  9. (转).NET导出Excel的四种方法及评测

    .NET导出Excel的四种方法及评测 导出Excel是.NET的常见需求,开源社区.市场上,都提供了不少各式各样的Excel操作相关包.本文,我将使用NPOI.EPPlus.OpenXML.Aspo ...

  10. java导出excel压缩包_java动态导出excel压缩成zip下载的方法

    本文实例为大家分享了java动态导出excel压缩成zip下载的具体代码,供大家参考,具体内容如下 package pack.java.io.demo; import java.io.Buffered ...

最新文章

  1. 树莓派练习程序(火焰检测)
  2. 苹果回应 XcodeGhost:暂未发现个人信息受影响
  3. Java日期时间类型
  4. Python使用技巧
  5. iOS开发实用技巧—Objective-C中的各种遍历(迭代)方式
  6. Redis数据结构之列表
  7. mysql 怎样更新数据库_MySQL数据库更新语句update使用详解
  8. mac电脑显示器分辨率显示异常
  9. php ios表情包,php 处理APP emoji表情包 IOS表情包 Mysql保存手机表情
  10. 安装molten教程
  11. 【乐通达】微信永不缺席!连发三大重磅更新,视频号终于成了视频号
  12. 彻底卸载mac软件的方法,这样才删除干净哦
  13. 超级简单小程序点赞功能
  14. UESTC人工智能 期末复习
  15. K8S系列:Deployment更新、锁定、解锁、回滚版本
  16. HTML5+CSS3小实例:炫彩的发光字特效
  17. 介绍9种常用的项目管理工具
  18. ubuntu 发送邮件
  19. 一款开源的数据可视化分析平台,提供多种大屏模板,非常炫酷
  20. 洛谷_P2433 【深基1-2】小学数学 N 合一(简单是简单,真的好麻烦!)

热门文章

  1. 计算范式_计算工程:新范式将如何很快改变一切
  2. 2023新版花粥商城PHP源码+附知识付费模版
  3. 英语里面关于货币数量的单词有哪些
  4. 排名提升29位!真我realme再登谷歌X凯度BrandZ中国全球化品牌50强
  5. AM/Tribon自动套料接口简介
  6. 【拯救电源键】最详尽的android开发一键锁屏实例 提供免费源码+apk
  7. ImageView加载图片 路径没问题,图片不显示
  8. ybt1271_潜水员
  9. 关于任哲的《嵌入式实时操作系统uC/OS II原理及应用(第二版)》开发环境搭建和第一个例子
  10. Linux集群之LB(四层负载均衡集群)篇