Poi和EasyPoi的使用

  • POI

  • 首先导入依赖
<!--poi导包-->
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
   <groupId>org.apache.poi</groupId>
   <artifactId>poi</artifactId>
   <version>4.1.0</version>
</dependency>
  • 模板
//导出
 @Test
    public void testPOIImport() {
        try {
            Workbook workbook = new HSSFWorkbook(new FileInputStream(new File("F:/user.xls")));
            Sheet sheet = workbook.getSheet("user");
            Row row = sheet.getRow(0);
            String id = row.getCell(0).getStringCellValue();
            String name = row.getCell(1).getStringCellValue();
            String sex = row.getCell(2).getStringCellValue();
            String bir = row.getCell(3).getStringCellValue();
            System.out.println(id+"====="+name+"======"+sex+"======"+bir);
            int lastRowNum = sheet.getLastRowNum();
            for (int i = 1; i <= lastRowNum; i++) {
                User user = new User();
                Row row1 = sheet.getRow(i);
                user.setId(row1.getCell(0).getStringCellValue());
                user.setUsername(row1.getCell(1).getStringCellValue());
                user.setSex(row1.getCell(2).getStringCellValue());
                user.setCreateDate(row1.getCell(3).getDateCellValue());
                System.out.println("user:             "+user);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
  • EasyPoi

官方文档:EasyPoi使用教程

  • 实体类
//教师实体类
public class Teacher implements Serializable {
    @ExcelIgnore
    private String id;
    @Excel(name = "教师姓名",needMerge=true)
    private String name;
    @Excel(name = "性别")
    private String sex;
    @ExcelCollection(name = "java152班学员")
    private List<Student> children;
}

//学生实体类
public class Student implements Serializable {
    @Excel(name = "编号")
    private String id;

    @Excel(name = "姓名")
    private String name;

    @Excel(name = "年龄")
    private Integer age;

    @Excel(name = "生日",format = "yyyy年MM月dd日 HH时mm分ss秒",width = 30)
    private Date bir;

    @Excel(name = "头像", type = 2 ,width = 40 , height = 20)
    private String image;

}

//生成excel
@Test
    public void testEasypoi2() {

        //学生集合
        List<Student> list = new ArrayList<>();
        for (int i = 1; i <= 10; i++) {
            Student student = new Student(i+"","小花花"+i,10+i,new Date(),"F:\\framework\\cmfz\\cmfz_bxy\\src\\main\\webapp\\image\\shouye.png");
            list.add(student);
        }

        //教师集合
        List<Teacher> teachers = new ArrayList<>();
        Teacher teacher1 = new Teacher("123123", "suns", "男", list);
        Teacher teacher2 = new Teacher("123123", "liucy", "男", list);
        teachers.add(teacher1);
        teachers.add(teacher2);

        //工作表
        Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams("计算机一班学生","学生"),
                Teacher.class, teachers);
        try {
            workbook.write(new FileOutputStream(new File("F:/student.xls")));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
  • 主要还是参照官方文档进行导出
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值