easyexcel读取函数
时间: 2025-05-31 07:57:02 浏览: 45
### 使用 EasyExcel 实现 Excel 文件读取功能
以下是使用 Alibaba 的 EasyExcel 库来实现 Excel 文件读取功能的详细说明以及示例代码。
#### 依赖引入
在 Maven 项目中,需先添加 EasyExcel 的依赖项。以下为 `pom.xml` 中的相关配置:
```xml
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>3.0.5</version>
</dependency>
```
此版本号可能随时间更新,请根据实际需求调整[^1]。
---
#### 数据模型定义
为了映射 Excel 表格中的数据到 Java 对象,可以创建一个实体类并使用注解指定字段对应关系。例如:
```java
package com.example.model;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
@Data
public class BizObjectModel {
@ExcelProperty(value = "编码", index = 0)
private String code;
@ExcelProperty(value = "名称", index = 1)
private String name;
}
```
在此示例中,`@ExcelProperty` 注解用于将表格列名或索引绑定至对象属性[^3]。
---
#### 读取逻辑实现
通过调用 EasyExcel 提供的静态方法完成文件读取操作。下面展示了一个完整的读取流程:
```java
package com.example.service;
import com.alibaba.excel.EasyExcel;
import com.example.model.BizObjectModel;
import java.util.List;
public class ExcelReadService {
public static void main(String[] args) {
// 定义要读取的目标路径
String fileName = "example.xlsx";
// 调用 EasyExcel 方法执行读取
List<BizObjectModel> result = EasyExcel.read(fileName)
.head(BizObjectModel.class)
.sheet(0) // 指定第一个 sheet,默认值也是 0
.doReadSync();
// 输出结果
System.out.println("读取的数据如下:");
result.forEach(System.out::println);
}
}
```
上述代码实现了从名为 `example.xlsx` 的文件中读取数据,并将其转换成 `BizObjectModel` 列表形式存储于内存中[^2]。
---
#### 处理多 Sheet 场景
如果目标 Excel 文件包含多个工作表,则可以通过循环遍历各张表的方式逐一解析其内容。修改后的核心部分如下所示:
```java
List<Object> resultList = new ArrayList<>();
for (int i = 0; i < totalSheets; i++) {
List<BizObjectModel> tempResult = EasyExcel.read(fileName)
.head(BizObjectModel.class)
.sheet(i) // 动态切换当前正在处理的工作表编号
.doReadSync();
resultList.addAll(tempResult); // 将每轮获取的结果追加进最终集合里
}
System.out.println(resultList.size() + " 条记录被成功加载!");
```
这里假设已知总共有多少个工作簿可供迭代访问;否则也可以采用其他方式探测有效范围边界。
---
阅读全文
相关推荐


















