当前位置:首页 > JAVA > 正文内容

easyexcel读取数据,easyexcel读取excel

高老师3年前 (2022-10-14)JAVA1051
(1).maven坐标地址
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>easyexcel</artifactId>
    <version>3.1.1</version>
</dependency>
(2).配置ReadListener,相当于设置excel读取配置
public class EcommerceMonthTargetExcelListener<E> implements ReadListener<EcommerceMonthTargetExcel> {

    // 保存全部Excel
    public List<EcommerceMonthTargetExcel> list = new ArrayList<EcommerceMonthTargetExcel>();

    /**
     * invoke
     */
    @Override
    public void invoke(EcommerceMonthTargetExcel ecommerceTargetExcel, AnalysisContext analysisContext) {
        list.add(ecommerceTargetExcel);
    }

    /**
     * doAfterAllAnalysed
     */
    @Override
    public void doAfterAllAnalysed(AnalysisContext analysisContext) {

    }
invoke在每执行一行则被调用1次,因此我用他来保存全部的数据,用list保存;doAfterAllAnalysed在全部执行完成后执行,EcommerceMonthTargetExcelListener就是我定义的读取下面的excel的监听器,其实只是做了list.add追加数据而已
(3).定义excel数据实体
@Getter
@Setter
@EqualsAndHashCode
public class EcommerceMonthTargetExcel {

    @ExcelProperty(index = 0)
    public String name;

    @ExcelProperty(index = 1)
    public String channel;

    @ExcelProperty(index = 2)
    public String month1;

    @ExcelProperty(index = 3)
    public String month2;

    @ExcelProperty(index = 4)
    public String month3;

    @ExcelProperty(index = 5)
    public String month4;

    @ExcelProperty(index = 6)
    public String month5;

    @ExcelProperty(index = 7)
    public String month6;

}
其中的index就是第几列的意思,映射到某个类属性
(4).读取excel
// 文件位置
String fileName = "D:/excel/电商目标表/21-3 目标更换.xlsx";
String year = "2022";

// 读取Excel文件
EcommerceMonthTargetExcelListener<?> ecommerceMonthTargetExcelListener = new EcommerceMonthTargetExcelListener<>();
try (ExcelReader excelReader = EasyExcel.read(fileName, EcommerceMonthTargetExcel.class, ecommerceMonthTargetExcelListener).build()) {
    ReadSheet readSheet = EasyExcel.readSheet(0).build();
    excelReader.read(readSheet);
    excelReader.finish();
}

// 循环处理数据
for (EcommerceMonthTargetExcel ecommerceMonthTarget : ecommerceMonthTargetExcelListener.list) {
    // 提取参数(Excel中的数据)
    String name = ecommerceMonthTarget.name;
    String channel = ecommerceMonthTarget.channel;
    String month1 = ecommerceMonthTarget.month1;  // 7月
    String month2 = ecommerceMonthTarget.month2;  // 8月
    String month3 = ecommerceMonthTarget.month3;  // 9月
    String month4 = ecommerceMonthTarget.month4;  // 10月
    String month5 = ecommerceMonthTarget.month5;  // 11月
    String month6 = ecommerceMonthTarget.month6;  // 12月
}


扫描二维码推送至手机访问。

版权声明:本文由高久峰个人博客发布,如需转载请注明出处。

本文链接:https://blog.20230611.cn/post/417.html

分享给朋友:

“easyexcel读取数据,easyexcel读取excel” 的相关文章

 java字节与字符的区别,字节与字的区别与联系

java字节与字符的区别,字节与字的区别与联系

字节(Byte)是计量单位,表示数据量多少,是计算机信息技术用于计量存储容量的一种计量单位,通常情况下一字节等于八位。字符(Character)计算机中使用的字母、数字、字和符号,比如'A'、'B'、'$'、'&'等。一般在英文...

java编译编码问题,java编译执行时编码问题

java编译编码问题,java编译执行时编码问题

public class test {     public static void main(String[] args) {     &...

java一个类可以有多个构造方法

java一个类可以有多个构造方法

java一个类可以有多个构造方法,根据传参类型和个数来匹配执行哪个构造方法。public class Member {     public Member(){      ...

java final 修饰符,java通过final修饰符创建常量,,java通过final修饰符声明方法不可被修改

java final 修饰符,java通过final修饰符创建常量,,java通过final修饰符声明方法不可被修改

(1).final 修饰符通常和 static 修饰符一起使用来创建类常量。(2).父类中的 final 方法可以被子类继承,但是不能被子类重写,声明 final 方法的主要目的是防止该方法的内容被修改。public class Member {   ...

java增强型for循环

java增强型for循环

Java5 引入了一种主要用于数组的增强型 for 循环,类似js中的for inpublic class Member {     public static void main(String[]&...

java Character 类,java判断字符是否是一个字母,java判断字符是否是一个数字,java判断字符是否是一个空白,java判断字符是否是小写字母,java判断字符是否是大写字母,java转换字符为大写,java转换字符为小写

java Character 类,java判断字符是否是一个字母,java判断字符是否是一个数字,java判断字符是否是一个空白,java判断字符是否是小写字母,java判断字符是否是大写字母,java转换字符为大写,java转换字符为小写

java判断字符是否是一个字母System.out.println(Character.isLetter('a'));java判断字符是否是一个数字System.out.println(Character.isDigit('0'));java判断字符是否是一个空白Sy...