springBoot+Vue导出Excel
springBoot+Vue导出Excel
后端下载依赖包:
<dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.2</version>
</dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>4.1.2</version>
</dependency>
后端代码:
@RequestMapping("/testExprotExcelx")public String testExprotExcelx(){try {//创建一个数组用于设置表头List<String> header =new ArrayList<>();header.add("姓名");header.add("年龄");header.add("性别");//数据List<Map<String,String>> list=new ArrayList<>();Map<String ,String> map=new HashMap<>();map.put("姓名","张三");map.put("年龄","12");map.put("性别","男");list.add(map);Map<String ,String> map1=new HashMap<>();map1.put("姓名","李四");map1.put("年龄","13");map1.put("性别","男");list.add(map1);Map<String ,String> map2=new HashMap<>();map2.put("姓名","赵梅");map2.put("年龄","12");map2.put("性别","女");list.add(map2);//声明一个工作簿XSSFWorkbook workbook = new XSSFWorkbook();//生成一个表格,设置表格名称为"每日库存情况表"XSSFSheet sheet = workbook.createSheet("每日库存情况表");//设置表格列宽度为10个字节sheet.setDefaultColumnWidth(10);//创建第一行表头XSSFRow headrow = sheet.createRow(0);//遍历添加表头for (int i = 0; i < header.size(); i++) {//创建一个单元格XSSFCell cell = headrow.createCell(i);//创建一个内容对象XSSFRichTextString text = new XSSFRichTextString(header.get(i));//将内容对象的文字内容写入到单元格中cell.setCellValue(text);}//模拟遍历结果集,把内容加入表格for (int i = 0; i < list.size(); i++) {XSSFRow row1 = sheet.createRow(i+1);for (int j=0;j<header.size();j++){XSSFCell cell = row1.createCell(j);XSSFRichTextString text = new XSSFRichTextString(list.get(i).get(header.get(j))+"");cell.setCellValue(text);}}//准备将Excel的输出流通过response输出到页面下载response.setContentType("application/octet-stream");response.setHeader("Content-disposition", "attachment;filename=student.xlsx");//刷新缓冲response.flushBuffer();//workbook将Excel写入到response的输出流中,供页面下载workbook.write(response.getOutputStream());return "导出成功";} catch (Exception e) {e.printStackTrace();return "导出失败";}}
前端代码:
outExcel(){const loading = this.$loading({lock: true,text: '努力加载中',spinner: 'el-icon-loading',background: 'rgba(0, 0, 0, 0.7)'});this.$axios({method: 'get',url: '/api/inventory/testExprotExcelx',responseType: 'blob'}).then((res) => {const content = res.dataconst blob = new Blob([content])//构造一个blob对象来处理数据const fileName = 'test.xlsx'//对于<a>标签,只有 Firefox 和 Chrome(内核) 支持 download 属性//IE10以上支持blob但是依然不支持downloadif ('download' in document.createElement('a')) { //支持a标签download的浏览器const link = document.createElement('a')//创建a标签link.download = fileName//a标签添加属性link.style.display = 'none'link.href = URL.createObjectURL(blob)document.body.appendChild(link)link.click()//执行下载URL.revokeObjectURL(link.href) //释放urldocument.body.removeChild(link)//释放标签} else { //其他浏览器navigator.msSaveBlob(blob, fileName)}loading.close()}, (error) => {this.$message.error('请求异常');loading.close()})
},
springBoot+Vue导出Excel相关推荐
- vue导出excel加一个进度条_vue导出excel遇到的问题解决方法
本篇文章给大家带来的内容是关于vue导出excel遇到的问题解决方法,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 需求: Vue+element UI el-table下的导出当前 ...
- springboot项目导出excel 合并单元格表格
springboot项目导出excel 合并单元格表格 导出效果 业务controller 业务数据 业务实体类 注解MyExcel.java 注解 MyExcels 导出工具类MyExcelUtil ...
- (vue)vue导出excel文件打不开,或者文件内容为object object
(vue)vue导出excel文件打不开,或者文件内容为object object[已解决] bug: 主要原因:没有注意到后端返回的数据格式,需要的是res而不是res.data 正确写法: < ...
- vue导出excel功能实现
vue导出excel功能实现 第一步安装依赖包 第二步在项目中assets创建一个新的文件夹js用于存放Blob和Export2Excel两个js文件 第三步在你那个组件中使用 写事件方法 Expor ...
- 封装vue导出excel组件(扩展嵌入图片、操作工作表、表格样式等功能)
导出的excel中嵌入图片,同时还需要操作多个工作表与表格样式, 看了一些java的插件不太适合,因为我这边的需求是动态表单,字段不固定.后端的插件大部分依赖实体类注解,要不就是操作比较繁琐.又看了一 ...
- vue导出excel表的时候有多张图片
vue导出excel的时候多张图片 遇到数据结构是[ { id:id, image:['图片','图片','图片'] } ] 这样的数据导出,使用插件 js-table2excel 导出的时候发现它只 ...
- vue导出Excel表格全局函数(简洁明了)
vue导出excel全局函数(简洁明了) 将导出到Excel功能封装成一个公用js函数,供其他vue页面复用. 1.安装Excel插件 npm install --save xlsx file-sav ...
- SpringBoot图文教程9—SpringBoot 导入导出 Excel 「Apache Poi」(亲测)
有天上飞的概念,就要有落地的实现 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例都敲一遍 先赞后看,养成习惯 来源:Springboot使用POI实现导出Excel文件示例的搜索结果-阿里云开 ...
- 【vue开发】vue导出Excel表格教程demo
前端工作量最多的就是需求,需求就是一直在变,比如当前端数据写完之后,需要用Excel把数据下载出来:再比如前端在没有数据库想写些demo玩时,也是很好的选择. 第一步安装依赖包,修改配置 1.装依赖: ...
- vue导出excel加一个进度条_vue 实现excel导出功能
最近Vue项目中用到了导出功能,在网上搜索了一番之后,决定采用Blob方式,这也是大家推荐的一种的方式,特此做下记录. 导出Excel功能 我是使用vue-cli3.0的框架,所以在安装过程中没有遇到 ...
最新文章
- templateclass T函数模板
- qpython3l手机版安装第三方库总是报错_python编码问题在此终结
- 全网最火爆的“人生重开模拟器”,快来!
- 大数据技术之 Kafka (第 3 章 Kafka 架构深入 ) Log存储解析
- 如何在Mac上用汇编语言写HelloWorld
- 做IM netty的优势
- gradle 编译失败,出现 permgen space的问题
- EI收录的中国(中文)期刊(2021版)
- 【转帖】lcd1602中文资料
- 四阶龙格库塔算法及matlab代码
- 计算机组装需要注意什么东西,自己组装电脑需注意事项图文详情
- 【无人机组装与调试】第六章 电调、电池、电机
- 备战数学建模2——MATLAB导入数据,处理缺失值
- 读 《我为什么要逃离北上广了?》有感
- Android Contacts 联系人源码分析
- 51单片机之蜂鸣器弹钢琴
- 二叉树的前序遍历-python
- 分布式专题(2)- 分布式 Java通信
- 本地k8s集群搭建保姆级教程(4)-安装k8s集群Dashboard
- 【CEGUI】资源加载流程
热门文章
- scrt设置右键粘贴,选中复制
- CE修改器使用教程 [入门篇]
- C语言libiconv编程,libiconv字符集转换库在C#中的使用
- MDT实现windows系统批量部署
- 韩顺平 java 坦克大战_韩顺平坦克大战源代码 韩顺平老师视频里的坦克大战 - 下载 - 搜珍网...
- 游戏必备组件有哪些_微信广告将升级小程序、小游戏开发者收入方案
- ubuntu 黑体_linux ubuntu 思源黑体安装
- Thor HTTP 抓包嗅探分析接口调试网络协议
- 固态硬盘故障检测_diskgenius检测固态硬盘(ssd固态硬盘坏道修复)
- pcb天线和纯铜天线_PCB天线和FPC天线有怎样的特性