SpringBoot EasyExcel实现Excel的导出

今天的积累都是为了更好的明天,加油!我是java程序员可以关注我一起学习哈!

今天心血来潮,突然想起很久以前的一个导出excel的功能,以前用的poi感觉挺麻烦的!今天就简单写下EasyExcel版本的,EasyExcel是阿里的一个开源插件!github地址https://github.com/alibaba/easyexcel大家也可以下载下来看看源码!我这里只做了一个简单的demo!

EasyExcel和POI的对比

1、 相比于POI,EasyExcel简化了开发量,能够用更少的代码实现更多的功能

2、 相比于POI,EasyExcel使用简单

3、 相比于POI,EasyExcel能够使用更少的内存占用

首先我们创建一个springboot项目,在此就不过多的啰嗦,创建好之后,首先需要引入easyexcel的包!

引入依赖


  
     com.alibaba 
     easyexcel
     1.1.2-beta5
  

实体类

@Data
public class Users extends BaseRowModel {

    @ExcelProperty(value = {"主键ID"}, index = 0)
    private String id;

    @ExcelProperty(value = {"用户姓名"}, index = 1)
    private String name;

    @ExcelProperty(value = {"用户年龄"}, index = 2)
    private String age;
}

Controller层

 @RequestMapping("/exportExcel")
    public void  export(HttpServletResponse response) throws IOException {
        List list = userService.findAllUser();
        ServletOutputStream out = response.getOutputStream();
        ExcelWriter writer = new ExcelWriter(out, ExcelTypeEnum.XLSX, true);
        String fileName = "测试exportExcel";
        Sheet sheet = new Sheet(1, 0,Users.class);
        //设置自适应宽度
        sheet.setAutoWidth(Boolean.TRUE);
        // 第一个 sheet 名称
        sheet.setSheetName("第一个sheet");
        writer.write(list, sheet);
        //通知浏览器以附件的形式下载处理,设置返回头要注意文件名有中文
        response.setHeader("Content-disposition", "attachment;filename=" + new String( fileName.getBytes("gb2312"), "ISO8859-1" ) + ".xlsx");
        writer.finish();
        response.setContentType("multipart/form-data");
        response.setCharacterEncoding("utf-8");
        out.flush();
    }

看下效果吧!

SpringBoot EasyExcel实现Excel的导出_第1张图片

 

SpringBoot EasyExcel实现Excel的导出_第2张图片

 

EasyExcel的确要比poi操作简单的多!

你可能感兴趣的:(java编程)