码迷,mamicode.com
首页 > 编程语言 > 详细

vue springboot 实现excel导出

时间:2021-02-08 12:42:34      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:注解   target   tput   type   com   rem   width   start   sys   

实现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());

 

~~~以上

vue springboot 实现excel导出

标签:注解   target   tput   type   com   rem   width   start   sys   

原文地址:https://www.cnblogs.com/BillyYoung/p/14386308.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!