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

easyexcel读取数据,easyexcel读取excel

高老师3年前 (2022-10-14)JAVA1041
(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不用编译直接执行

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

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

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

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

java日期和时间

java日期和时间

(1).java获取当前日期时间Date date = new Date();  System.out.println(date.toString());输出Fri Jul 02 10:29:55 CST 2021(2).java获取时间戳秒/毫秒D...

java lookingAt匹配字符串和java matches匹配字符串,java正则replaceAll,java正则replaceFirst

java lookingAt匹配字符串和java matches匹配字符串,java正则replaceAll,java正则replaceFirst

(4).java lookingAt匹配字符串和java matches匹配字符串lookingAt不要求整个字符串全匹配,例如me和me_you都是匹配的,但是lookingAt从第一个字符串开始匹配,匹配失败了也不会继续匹配,意味着me和you_me是无法匹配的matches匹配字符串要求全部匹...

java 可变参数

java 可变参数

java 可变参数// 定义方法 public static int sum(int... number) {     int result = 0;  &nb...