easyExcel 读取excel(按条读取)

MAVEN

xml 复制代码
      <!-- https://mvnrepository.com/artifact/com.alibaba/easyexcel -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>easyexcel</artifactId>
            <version>3.0.5</version>
        </dependency>

代码

java 复制代码
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
 
// 定义你的数据类,用于映射Excel中的字段
public class YourDataClass {
    // 定义字段,与Excel列名对应
    @ExcelProperty(index = 1)
    private String field1;
    @ExcelProperty(index = 2)
    private String field2;
    // getters and setters

    public String getField1() {
        return field1;
    }

    public void setField1(String field1) {
        this.field1 = field1;
    }

    public String getField2() {
        return field2;
    }

    public void setField2(String field2) {
        this.field2 = field2;
    }

    @Override
    public String toString() {
        return "YourDataClass{" +
                "field1='" + field1 + '\'' +
                ", field2='" + field2 + '\'' +
                '}';
    }
}

// 自定义监听器,用于处理读取到的数据
class YourDataListener extends AnalysisEventListener<YourDataClass> {
    @Override
    public void invoke(YourDataClass data, AnalysisContext context) {
        System.out.println(data);
        // 处理每条数据,例如保存到数据库或其他操作
    }
 
    @Override
    public void doAfterAllAnalysed(AnalysisContext context) {
        // 所有数据处理完毕后的操作
        System.out.println("doAfterAllAnalysed");
    }
}
 
// 读取Excel文件
class YourExcelReader {
    public void readExcel(String fileName) {
        // 读取第一个sheet
        EasyExcel.read(fileName, YourDataClass.class, new YourDataListener())
            .sheet()
            .doRead();
    }
}
 
// 使用
class Main {
    public static void main(String[] args) {
        YourExcelReader reader = new YourExcelReader();
        reader.readExcel("C:\\Users\\28698\\Documents\\xxxxx.xlsx");
    }
}

https://www.baidu.com/s?wd=easyexcel%E5%A4%8D%E6%9D%82%E6%95%B0%E6%8D%AE&rsv_spt=1&rsv_iqid=0xb82331eb0011cb00&issp=1&f=8&rsv_bp=1&rsv_idx=2&ie=utf-8&rqlang=cn&tn=57095150_7_oem_dg&rsv_enter=1&rsv_dl=tb&oq=easy&rsv_btype=t&inputT=4213&rsv_t=2e30yPMD2lAzHObglPAtRziTwFCyCpVyR2ekIw73AnkB02dVwyDmvPN1zFYStYSU1xWJM84rWg0&rsv_sug3=22&rsv_sug1=17&rsv_sug7=100&rsv_pq=b65dc51501a09efe&rsv_sug2=0&rsv_sug4=4513

相关推荐
yaoxin5211231 小时前
384. Java IO API - Java 文件复制工具:Copy 示例完整解析
java·开发语言·python
NotFound4862 小时前
实战指南如何实现Java Web 拦截机制:Filter 与 Interceptor 深度分享
java·开发语言·前端
Ava的硅谷新视界2 小时前
用了一天 Claude Opus 4.7,聊几点真实感受
开发语言·后端·编程
rabbit_pro2 小时前
Python调用onnx模型
开发语言·python
一 乐3 小时前
医院挂号|基于springboot + vue医院挂号管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·医院挂号管理系统
浪客川3 小时前
【百例RUST - 010】字符串
开发语言·后端·rust
鱼鳞_3 小时前
Java学习笔记_Day29(异常)
java·笔记·学习
烟锁池塘柳03 小时前
一文讲透 C++ / Java 中方法重载(Overload)与方法重写(Override)在调用时机等方面的区别
java·c++·面向对象
一叶飘零_sweeeet4 小时前
深入拆解 Fork/Join 框架:核心原理、分治模型与参数调优实战
java·并发编程
云烟成雨TD4 小时前
Spring AI Alibaba 1.x 系列【23】短期记忆
java·人工智能·spring