0
点赞
收藏
分享

微信扫一扫

SpringBoot整合EasyPOI实现Excel、Word的导入导出功能

一、EsayPOI的介绍


二、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();
}
举报

相关推荐

0 条评论