vue springboot 实现excel导出
实现excel 导出
一、需求
实现 excel 的导出
二、技术
选用 easypoi
官网:
https://gitee.com/lemur/easypoi#http://doc.wupaas.com/docs/easypoi/easypoi-1c0u4mo8p4ro8
三、实现
1、前端
<el-button type="success" @click="handleExport">导出<i class="el-icon-upload el-icon--right"></i></el-button>
handleExport() {
let a = document.createElement('a')
a.href = "/xxx/export"
a.click()
}
2、后端
a、引入pom依赖
<!-- 引入EasyPoi包 -->
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-spring-boot-starter</artifactId>
<version>4.1.0</version>
</dependency> <dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.4</version>
</dependency>
b、实体注解
@Data
public class UnitMaterialRecommendVo {
@Excel(name = "序号", width = 10)
private Integer num;
@Excel(name = "体系", width = 25, orderNum = "1")
private String unitSystem;
@Excel(name = "单位", width = 25, orderNum = "2")
private String unitName;
@Excel(name = "参评类型", width = 25, orderNum = "3", replace = { "参评单位申报推荐_10", "文明单位复查审核_20" })
private Integer reportType;
@Excel(name = "审核结果", width = 25, orderNum = "4", replace = { "审核中_0", "审核通过_1", "审核不通过_-1" })
private Integer state;
@Excel(name = "联系方式", width = 25, orderNum = "5")
private String unitDirectorPhone;
@Excel(name = "所属省市", width = 25, orderNum = "6")
private String unitCityName;
@Excel(name = "文明单位类型", width = 25, orderNum = "7", replace = { "四川省文明单位_10", "四川省最佳文明单位_20"})
private Integer civilizedUnitType;
@Excel(name = "备注", width = 30, orderNum = "8")
private String remark;
}
c、导出方法
List<UnitMaterialRecommend> list = this.list(wrapper);
String fileName = new String("文件名称.xls".getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1);
response.addHeader("Content-Disposition", "attachment;filename=" + fileName);
response.setContentType("application/vnd.ms-excel;charset=gb2312");
List<UnitMaterialRecommendVo> result = new ArrayList<>();
AtomicInteger num = new AtomicInteger(1);
// 设置序号
list.forEach(item -> item.setNum(num.getAndIncrement()));
Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), UnitMaterialRecommendVo.class, result);
workbook.write(response.getOutputStream());
三、备注
通过模板批量导出,采用 ExcelExportUtil.exportExcelClone 方法,详见下面示例:
private static final String SHEET_NAME = "sheetName";
@Override
public void multipleExport(HttpServletResponse response, UnitMaterialRecommend recommend) throws IOException { String fileName = new String("template.xls".getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1);
response.addHeader("Content-Disposition", "attachment;filename=" + fileName);
response.setContentType("application/vnd.ms-excel;charset=gb2312");
TemplateExportParams params = new TemplateExportParams("template/materialTemplate.xls"); List<UnitMaterialRecommend> models = this.getModels(recommend);
List<Map<String, Object>> listMap = new ArrayList<>();
for (int j = models.size() - 1; j >= 0; j--) {
Map<String, Object> modelMap = this.getModelMap(models.get(j));
modelMap.put(SHEET_NAME, "sheet" + j);
listMap.add(modelMap);
}
Map<Integer, List<Map<String, Object>>> realMap = new HashMap<>();
realMap.put(0, listMap);
Workbook workbook = ExcelExportUtil.exportExcelClone(realMap, params);
workbook.write(response.getOutputStream());
}
~~~以上
vue springboot 实现excel导出的更多相关文章
- Vue项目实现excel导出
1.package.json里面安装三个插件 npm install xlsx --save npm install script-loader –save-dev npm install ...
- vue如何使用excel导出后台数据
let params = { // 请求参数 要下载Excel的id 'id':this.excelId }; //导入的接口名 api_excel_exportExcel().then(res =& ...
- Vue + axios + SpringBoot 2实现导出Excel
Vue + axios + SpringBoot 2实现导出Excel 1. 前端js代码-发送Http请求 /** * 文件下载 * @param url 下载地址 * @param fileNam ...
- vue springboot利用easypoi实现简单导出
vue springboot利用easypoi实现简单导出 前言 一.easypoi是什么? 二.使用步骤 1.传送门 2.前端vue 3.后端springboot 3.1编写实体类(我这里是dto, ...
- 使用VUE+SpringBoot+EasyExcel 整合导入导出数据
使用VUE+SpringBoot+EasyExcel 整合导入导出数据 创建一个普通的maven项目即可 项目目录结构 1 前端 存放在resources/static 下 index.html &l ...
- SpringBoot加Poi仿照EasyPoi实现Excel导出
POI提供API给Java程序对Microsoft Office格式档案读和写的功能,详细功能可以直接查阅API,因为使用EasyPoi过程中总是缺少依赖,没有搞明白到底是什么坑,索性自己写一个简单工 ...
- 基于springboot跟poi封装的最便捷的excel导出
发布时间:2018-11-15 技术:springboot1.5.6 + maven3.0.5 + jdk1.8 概述 Springboot最便捷的Excel导出,只需要一个配置文件即可搞定 ...
- SpringBoot使用Easypoi导出excel示例
SpringBoot使用Easypoi导出excel示例 https://blog.csdn.net/justry_deng/article/details/84842111
- abp框架Excel导出——基于vue
abp框架Excel导出--基于vue 目录 abp框架Excel导出--基于vue 1.技术栈 1.1 前端采用vue,官方提供 1.2 后台是abp--aspnetboilerplate 2. E ...
- springboot通过poi导出excel
Maven引入依赖 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi< ...
随机推荐
- Spring Boot集成Mybatis分页插件pagehelper
引入依赖 <!--分页插件开始--> <dependency> <groupId>com.github.pagehelper</groupId> < ...
- Oracle plsql中文字段乱码,where条件中文字段搜不到结果集
设置系统环境变量 变量名:NLS_LANG 变量值:AMERICAN_AMERICA.ZHS16GBK
- workman的工作流程
workerman有两种进程模型1.基本的master worker模型2.master gateway worker模型 master worker模型工作流程及进程间关系如下: master wo ...
- oeasy教您玩转vim - 43 - # 替换模式
替换模式 回忆上节课内容 上次我们学到的最有用的就是c 他和d的区别就是删除之后进入到插入模式 c可以配合motion 可以用ciw来快速删除当前光标所在的单词 可i和a 配合的文字块 w wor ...
- 用ssh同时push 项目到github和gitee的方法
分别为两个网站声称pubkey cd ./ssh ssh-keygen -t rsa -C "oeasy@oeasy.org" -f "github_id_rsa&q ...
- oeasy教您玩转vim - 84 - # 命令command
命令 command 回忆 关于 函数function 可以调用别的函数 :call append(0,"oeasy o2z o3z") 还可以执行表达式 :call exec ...
- Known框架实战演练——进销存数据结构
系统主要包含商品信息.商业伙伴(客户.供应商)信息.业务单表头信息.业务单表体信息.对账单表头信息.对账单表体信息. 1. 商品信息(JxGoods) 该表用于存储公司商品信息. 名称 代码 类型 长 ...
- JAVA私有构造函数---java笔记
在Java中,构造函数是一种特殊的方法,它用于初始化新创建的对象.当我们创建一个类的实例时,构造函数会自动被调用. 构造函数可以有不同的访问修饰符,如public.protected.default( ...
- 题解:CF1971D Binary Cut
题解:CF1971D Binary Cut 题意 给予你一个 \(01\) 字符串,你可以将它分割,分割后必须排成先 \(0\) 后 \(1\) 的格式. 求最少分割为几部分. 思路 将 \(0\) ...
- k8s(3) 集群运行
Master下面执行 mkdir -p $HOME/.kube 执行的脚本,需要读取的配置文件 cp -i /etc/kubernetes/admin.conf $HOME/.kube/config ...