EasyExcel的简单读写操作

本文介绍了如何使用EasyExcel库读取Excel文件内容,通过创建实体类进行数据绑定,然后进行数据筛选,将筛选后的结果导出到新的Excel文件。示例代码展示了读取模板文件,根据学生年龄进行条件筛选,并将筛选结果(包含错误信息)写入新的Excel文件的过程。
摘要由CSDN通过智能技术生成

读取Excel中的内容,并将筛选后的内容导出

1、导入依赖

<dependency>
     <groupId>com.alibaba</groupId>
     <artifactId>easyexcel</artifactId>
     <version>3.2.1</version>
</dependency>

2、创建用来导入的实体类

@Data
@AllArgsConstructor
@NoArgsConstructor
public class StudentImport {
	// 用名字去匹配,这里需要注意,如果名字重复,会导致只有一个字段读取到数据
    @ExcelProperty("学生名称")
    private String name;

    @ExcelProperty("学生年龄")
    private Integer age;

}

3、创建用来筛选后进行导出的实体类

@Data
@AllArgsConstructor
@NoArgsConstructor
// 设置列宽
@ColumnWidth(25)
// 设置表头行高
@HeadRowHeight(20)
public class StudentReport {

    @ExcelProperty("学生名称")
    private String name;

    @ExcelProperty("学生年龄")
    private Integer age;

    @ExcelProperty("错误信息")
    private String msg;
}

4、创建测试类

public static void main(String[] args) {
    // 读操作,模板是E:\\template.xlsx,使用StudentImport类接收值,创建excel一行一行的回调监听器
    EasyExcel.read("E:\\template.xlsx", StudentImport.class, new PageReadListener<StudentImport>((stu)->{
        ArrayList<StudentReport> list = new ArrayList<>();
        // 进行简单的条件筛选后放入上方list中
        stu.stream().forEach(studentImport -> {
            if(studentImport.getAge() > 21){
                StudentReport report = new StudentReport();
                BeanUtils.copyProperties(studentImport,report);
                report.setMsg("年龄大于21");
                list.add(report);
            }else{
                StudentReport report = new StudentReport();
                BeanUtils.copyProperties(studentImport,report);
                report.setMsg("年龄正常");
                list.add(report);
            }
        });
        // 在回调中进行写操作,使用StudentReport类来将list中的值写入到E:\template-write.xlsx
        EasyExcel.write("E:\\template-write.xlsx",StudentReport.class).sheet().doWrite(list);
    }
    )).sheet().doRead();
}

本文中只是对EasyExcel的简单的读操作进行举例,EasyExcel中还有填充等操作,若想了解更多请移至官方文档进行查看。
点击链接跳转至: EasyExecl 官方文档

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
EasyExcel是一种Java开源的大数据量读写工具,它提供了一种简单易用的方式来处理Excel文件。在处理大数据量的情况下,传统的Excel读写方式往往效率较低、消耗内存较大,而EasyExcel则能够更好地解决这一问题。 EasyExcel在处理大数据量时的优势主要体现在以下几个方面: 1. 低内存消耗:EasyExcel使用流式读写的方式处理Excel文件,只读取部分数据到内存中,因此可以有效降低内存消耗。在处理大数据量时,这一特性尤为重要,可大大提高程序的性能和效率。 2. 大数据量读写性能优异:EasyExcel采用了多线程和缓存技术,可以同时读写多个Excel文件,并利用缓存提高读写效率。这使得EasyExcel能够在处理大规模数据时表现出良好的性能表现,大大减少了读写时间。 3. 丰富的读写功能:EasyExcel支持常见的Excel读写操作,包括单元格数据读取、写入、合并单元格、样式设置等功能。同时,EasyExcel还支持各种数据类型的读写,包括日期、数字、字符串、布尔值等,非常灵活方便。 通过EasyExcel,我们可以轻松地读取、处理和导出大量数据,特别在需要将Excel数据导入到数据库或从数据库导出到Excel时,EasyExcel展现出了以下几点优势: 1. 提高数据导入导出的效率:EasyExcel的高效读写方式和性能优势,可以大幅提高数据导入导出的效率,省去了手动逐行读写的繁琐过程。 2. 简化代码编写:EasyExcel提供了简洁易用的API,可以通过少量的代码完成复杂的Excel读写操作,大大简化了编码工作。 3. 支持数据格式的灵活处理:EasyExcel丰富的读写功能可以满足各种复杂数据处理需求,包括日期格式化、数值类型转换、文本处理等,可根据需求自由定制。 总之,EasyExcel是一款非常实用的大数据量读写工具,通过优化性能和提供丰富的功能,能够极大地提高Excel处理的效率和便捷性,为开发人员带来了很大的便利。在CSDN平台上,有关EasyExcel的相关教程和案例也很丰富,可以方便地学习和使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值