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

easyexcel读取数据,easyexcel读取excel

高老师4年前 (2022-10-14)JAVA1199
(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 final 修饰符,java通过final修饰符创建常量,,java通过final修饰符声明方法不可被修改

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

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

java String 类 ,java 字符串类,java创建字符串,java获取字符串长度,java连接字符串,java格式化字符串

java String 类 ,java 字符串类,java创建字符串,java获取字符串长度,java连接字符串,java格式化字符串

在java中字符串属于对象,刚开始我就疑惑为什么int char等类型都是小写,结果String是大写,java太反人类,后来才知道String是对象。(1).java创建字符串String text = "net"; String tex...

java stringBuffer,java stringBuffer反转字符串,java stringBuffer delete删除字符/移除字符,java stringBuffer在指定位置插入字符串,java stringBuffer替换指定位置的字符串,java stringBuffer获取指定索引的值

java stringBuffer,java stringBuffer反转字符串,java stringBuffer delete删除字符/移除字符,java stringBuffer在指定位置插入字符串,java stringBuffer替换指定位置的字符串,java stringBuffer获取指定索引的值

java stringBuffer(1).stringBuffer和stringBuilder区别stringBuffer是线程安全的,stringBuilder速度更快(2).简单的stringBuffer例子StringBuffer sBuffer = new&nb...

java正则表达式判断字符串是否包含,java判断字符串是否包含

java正则表达式判断字符串是否包含,java判断字符串是否包含

pattern表示正则表达式,接收正则表达式作为参数例子:String content = "my name is gaojiufeng"; String pattern = "....

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正则appendReplacement方法和java正则appendTail

java正则appendReplacement方法和java正则appendTail

假如有个字符串为"fatcatfatcatfat",正则为“cat”当调用appendReplacement(sb, "dog")时appendReplacement方法都会把匹配到的内容替换为dog,并把匹配到字符串的前面几个字符串+dog送给sb里,所以第...