美文网首页Spring boot Spring cloudSpringboot
SpringBoot整合EasyPOI实现Excel、Word的

SpringBoot整合EasyPOI实现Excel、Word的

作者: 消失的码农 | 来源:发表于2019-05-30 13:47 被阅读77次

一、EsayPOI的介绍

easypoi 功能如同名字easy,主打的功能就是容易。让一个没见接触过poi的人员就可以方便的写出Excel导出,Excel导出,Excel导入,Word模板导出,通过简单的注解和模板语言(熟悉的表达式语法),完成以前复杂的写法


二、EsayPOI引入依赖并配置

1.引入依赖

      <!--引入EasyPOI-->
      <dependency>
            <groupId>cn.afterturn</groupId>
            <artifactId>easypoi-base</artifactId>
            <version>3.0.3</version>
        </dependency>
        <dependency>
            <groupId>cn.afterturn</groupId>
            <artifactId>easypoi-web</artifactId>
            <version>3.0.3</version>
        </dependency>
        <dependency>
            <groupId>cn.afterturn</groupId>
            <artifactId>easypoi-annotation</artifactId>
            <version>3.0.3</version>
        </dependency>

2.引入依赖

  • @Excel 作用到filed上面,是对Excel一列的一个描述
  • @ExcelCollection 表示一个集合,主要针对一对多的导出,比如一个老师对应多个科目,科目就可以用集合表示
  • @ExcelEntity 表示一个继续深入导出的实体,但他没有太多的实际意义,只是告诉系统这个对象里面同样有导出的字段
  • @ExcelIgnore 和名字一样表示这个字段被忽略跳过这个导导出
  • @ExcelTarget 这个是作用于最外层的对象,描述这个对象的id,以便支持一个对象可以针对不同导出做出不同处理
 public class StudentEntity implements java.io.Serializable {
    /** id*/
    private String id;
    /** 学生姓名*/
    @Excel(name = "学生姓名", height = 20, width = 30, isImportField = "true_st")
    private String name;
    /**学生性别*/
    @Excel(name = "学生性别", replace = { "男_1", "女_2" }, suffix = "生", isImportField = "true_st")
    private int sex;

    @Excel(name = "出生日期", databaseFormat = "yyyyMMddHHmmss", format = "yyyy-MM-dd", isImportField = "true_st", width = 20)
    private Date birthday;

    @Excel(name = "进校日期", databaseFormat = "yyyyMMddHHmmss", format = "yyyy-MM-dd")
    private Date registrationDate;
 }

样例如下所示:


导出的表格

3.导出的Java代码

FileOutputStream fos = null;
try (Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams("2412312", "测试", "测试"), Area.class, list)) {
    fos = new FileOutputStream("G:/ExcelExportHasImgTest.exportCompanyImg.xls");
    workbook.write(fos);
}catch (IOException e){
    e.printStackTrace();
}finally {
    fos.close();
}

相关文章

网友评论

    本文标题:SpringBoot整合EasyPOI实现Excel、Word的

    本文链接:https://www.haomeiwen.com/subject/mmwmtctx.html