《SpringBoot篇》21.SpringBoot整合EasyExcel详解(二)

简介: 《SpringBoot篇》21.SpringBoot整合EasyExcel详解(二)

三、测试各种功能


1.读取Excel文件

注:这里read的第一个参数表示要读excel文件地址,先将文件拉取到项目中,右键点击excel文件,点击Copy Path进行复制。最后点击运行该方法就可以看到读取到excel中的数据。

image.png

image.png

@Test
    public void test01(){
     /**
         * Build excel the read  构建一个读的工作簿
         *
         * @param pathName  读文件的路径
         *            File path to read.
         * @param head  每一行数据存储的到的实体类的类型的class
         *            Annotate the class for configuration information.
         * @param readListener  监听器 没读一行内容都会调用该对象的invoke,在invoke可以操作使用读取到的数据
         *            Read listener.
         * @return Excel reader builder.
         */
//        获取工作簿对象      excel文件位置   最后一个参数是监听器类
        ExcelReaderBuilder readWorkBook = EasyExcel.read("E:\blank\EasyExcel\杭州黑马在线202003班学员信息表.xlsx", Student.class, new StudentListener());
//        获取工作表对象
        ExcelReaderSheetBuilder sheet = readWorkBook.sheet();
//        读取表中的内容
        sheet.doRead();


2.写入Excel

注:实体类中加入注解@ExcelProperty,注解中value的值代表,写入excel的表头。


@Data
@AllArgsConstructor
@NoArgsConstructor
@ColumnWidth(20)
public class Student {
    /**
     * id
     */ 
    //index 代表表头的位置,否则默认 各个参数在本类中的位置
    //@ExcelProperty(value = "编号",index = 3)
    //忽略在表中不会显示该字段
    @ExcelIgnore
    private String id;
    /**
     * 学生姓名
     */
    @ExcelProperty(value = "学生姓名")
    //表示列的宽度
    //@ColumnWidth(30)
    private String name;
    /**
     * 学生性别
     */
    @ExcelProperty(value = "学生性别")
    private String gender;
    /**
     * 学生出生日期
     */
    @ExcelProperty(value = "学生出生日期")
    //@ColumnWidth(20)
    private Date birthday;
}

注:测试类中加入写入excel的方法


@Test
    public void test02(){
        ExcelWriterBuilder writeWorkBook = EasyExcel.write("E:\blank\EasyExcel\在线学员信息表.xlsx", Student.class);
        ExcelWriterSheetBuilder sheet = writeWorkBook.sheet();
        //doWrite(initData()之前提前加入的生成数据的方法。
        sheet.doWrite(initData());
    }
相关文章
|
15天前
|
存储 easyexcel Java
SpringBoot+EasyExcel轻松实现300万数据快速导出!
本文介绍了在项目开发中使用Apache POI进行数据导入导出的常见问题及解决方案。首先比较了HSSFWorkbook、XSSFWorkbook和SXSSFWorkbook三种传统POI版本的优缺点,然后根据数据量大小推荐了合适的使用场景。接着重点介绍了如何使用EasyExcel处理超百万数据的导入导出,包括分批查询、分批写入Excel、分批插入数据库等技术细节。通过测试,300万数据的导出用时约2分15秒,导入用时约91秒,展示了高效的数据处理能力。最后总结了公司现有做法的不足,并提出了改进方向。
|
1月前
|
easyexcel Java UED
SpringBoot中大量数据导出方案:使用EasyExcel并行导出多个excel文件并压缩zip后下载
在SpringBoot环境中,为了优化大量数据的Excel导出体验,可采用异步方式处理。具体做法是将数据拆分后利用`CompletableFuture`与`ThreadPoolTaskExecutor`并行导出,并使用EasyExcel生成多个Excel文件,最终将其压缩成ZIP文件供下载。此方案提升了导出效率,改善了用户体验。代码示例展示了如何实现这一过程,包括多线程处理、模板导出及资源清理等关键步骤。
|
3月前
|
JavaScript 前端开发 easyexcel
基于SpringBoot + EasyExcel + Vue + Blob实现导出Excel文件的前后端完整过程
本文展示了基于SpringBoot + EasyExcel + Vue + Blob实现导出Excel文件的完整过程,包括后端使用EasyExcel生成Excel文件流,前端通过Blob对象接收并触发下载的操作步骤和代码示例。
614 0
基于SpringBoot + EasyExcel + Vue + Blob实现导出Excel文件的前后端完整过程
|
5月前
|
easyexcel Java Maven
springboot使用EasyExcel导入导出填充,解决导出乱码问题(web)
springboot使用EasyExcel导入导出填充,解决导出乱码问题(web)
648 5
|
5月前
|
前端开发 easyexcel Java
springboot使用EasyExcel导入数据(获取行号)
springboot使用EasyExcel导入数据(获取行号)
575 1
|
5月前
|
easyexcel Java API
SpringBoot集成EasyExcel 3.x:高效实现Excel数据的优雅导入与导出
SpringBoot集成EasyExcel 3.x:高效实现Excel数据的优雅导入与导出
1062 1
|
6月前
|
Java easyexcel 应用服务中间件
【二十五】springboot使用EasyExcel和线程池实现多线程导入Excel数据
【二十五】springboot使用EasyExcel和线程池实现多线程导入Excel数据
871 0
QGS
|
6月前
|
Java easyexcel 关系型数据库
手拉手浅学Springboot+EasyExcel
手拉手浅学Springboot+EasyExcel
QGS
76 1
QGS
|
6月前
|
前端开发 Java easyexcel
Springboot3+EasyExcel由浅入深
Springboot3+EasyExcel由浅入深
QGS
288 1
|
6月前
|
Java easyexcel 数据库连接
SpringBoot使用EasyExcel将Excel数据直接转换为类对象
SpringBoot使用EasyExcel将Excel数据直接转换为类对象
292 0