EasyExcel使用与步骤

一、导入依赖(3.1.0+版本不需要poi依赖)

<!--    easyExcel-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>easyexcel</artifactId>
            <version>3.1.1</version>
        </dependency>

二、写数据

1、创建要写入的实体类(@ExcelProperty对应excel第一行的字段名)

               

package com.easyexcel.excel;

import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;

@Data
public class Demo {

    @ExcelProperty("学生编号")
    private Integer sno;

    @ExcelProperty("学生姓名")
    private String sname;
}

2、 开始写入数据

首先是文件名和地址filename()

excel最下层的Sheet名称sheet()

进行写的集合doWrite()

创建对应的集合,然后进行赋值,将内容写进入

package com.easyexcel;

import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.write.builder.ExcelWriterBuilder;
import com.easyexcel.excel.Demo;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.ArrayList;
import java.util.List;

@SpringBootTest
class EasyExcelApplicationTests {

    @Test
    void contextLoads() {
        List<Demo> list=new ArrayList<>();
        for(int i=0;i<10;i++){
            Demo demo=new Demo();
            demo.setSno(i);
            demo.setSname("data"+i);
            list.add(demo);
        }
        String filename="D:/桌面/test.xlsx";
        EasyExcel.write(filename, Demo.class).sheet("学生列表").doWrite(list);
    }

}

3、运行结果

 效果如下:

 三、读数据

1、创建实体类,在@ExcelProperty添加index字段,表示所在列

@Data
public class Demo {

    @ExcelProperty(value = "学生编号",index = 0)
    private Integer sno;

    @ExcelProperty(value = "学生姓名",index = 1)
    private String sname;
}

2.创建Excel监听器

 继承AnalysisEventListener类,实现invokedoAfterAllAnalysed方法,并且实现invokeHeadMap方法,该方法在右键-生成-实现方法中有

其中invoke是一行一行读

doAfterAllAnalysed是读完之后操作

invokeHeadMap是读表头

package com.easyexcel.ExcelListener;

import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.easyexcel.excel.Demo;

import java.util.Map;

public class ExcelListener extends AnalysisEventListener<Demo> {
    /**
     * 一行一行读
     * @param demo
     * @param analysisContext
     */

    @Override
    public void invoke(Demo demo, AnalysisContext analysisContext) {
        System.out.println("---"+demo);
    }

    @Override
    public void doAfterAllAnalysed(AnalysisContext analysisContext) {

    }

    @Override
    public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) {
        System.out.println("表头="+headMap);
    }
}

3.实现读的操作

首先创建要读取文件的路径filename

String filename="D:/桌面/test.xlsx";

 其中EasyExcel的read中比write多了一个ExcelListener用来监听,内容显示在监听类进行读

EasyExcel.read(filename,Demo.class,new ExcelListener()).sheet().doRead();

 4.结果如下:

 首先是excel内容:

然后是读的结果 

  • 7
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,关于springboot集成easyexcel的详细使用步骤,我可以给您提供以下代备注: 1. 引入EasyExcel依赖 在项目的pom.xml文件中,添加EasyExcel的依赖: ``` <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.2.6</version> </dependency> ``` 2. 创建Excel对应的实体类 根据您要读取或者生成的Excel文件内容,创建对应的Java实体类,并添加注解。 例如,如果要读取一个包含姓名、年龄、性别信息的Excel文件,可以创建一个如下的实体类: ```java public class User { @ExcelProperty("姓名") private String name; @ExcelProperty("年龄") private Integer age; @ExcelProperty("性别") private String gender; // Getter and Setter } ``` 3. 创建Excel读取或导出的工具类 在springboot项目中,可以通过注入类来让Spring容器管理EasyExcel的读取或导出工具类。 例如,在Service类中注入EasyExcelService读取或导出Excel文件: ```java @Service public class EasyExcelService { /** * 读取Excel文件 * @param path 文件路径 * @return Excel中的数据列表 */ public List<User> readExcel(String path) { List<User> userList = new ArrayList<>(); ExcelReader excelReader = null; try(InputStream inputStream = new FileInputStream(path)) { excelReader = EasyExcel.read(inputStream, User.class, new UserListener(userList)).build(); ReadSheet readSheet = EasyExcel.readSheet(0).build(); excelReader.read(readSheet); } catch (Exception e) { e.printStackTrace(); } finally { if (excelReader != null) { excelReader.finish(); } } return userList; } /** * 导出Excel文件 * @param userList 数据列表 * @param path 文件路径 */ public void writeExcel(List<User> userList, String path) { ExcelWriter excelWriter = null; try { excelWriter = EasyExcel.write(path).head(User.class).build(); WriteSheet writeSheet = EasyExcel.writerSheet(0).build(); excelWriter.write(userList, writeSheet); } catch (Exception e) { e.printStackTrace(); } finally { if (excelWriter != null) { excelWriter.finish(); } } } } ``` 注意,读取Excel文件需要提供一个数据监听器(UserListener),用于获取读取到的数据列表。 4. 调用Excel工具类 在需要使用Excel读取或导出的地方,调用对应的工具类方法即可。 例如,在Controller中调用EasyExcelService读取Excel文件,并返回读取结果: ```java @RestController @RequestMapping("/api") public class UserController { @Autowired private EasyExcelService easyExcelService; @GetMapping("/users") public List<User> getUsers(@RequestParam String path) { return easyExcelService.readExcel(path); } } ``` 5. 测试 到这儿,您的springboot项目已经集成了EasyExcel,并可以实现Excel文件的读取或导出了。可以选择一些Excel文件,进行测试验证。 以上就是关于springboot集成easyexcel的详细使用步骤的代备注。请注意,本代备注不代表CSDN或本人对您的使用负责,仅提供参考。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值