写个基于easyExcel实现的能够根据文件地址读取excel的工具类
时间: 2024-03-20 21:41:30 浏览: 65
好的,这里给您提供一个基于EasyExcel实现的能够根据文件地址读取Excel的工具类:
```java
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.read.builder.ExcelReaderBuilder;
import com.alibaba.excel.read.listener.ReadListener;
import com.alibaba.excel.read.metadata.ReadSheet;
import java.io.File;
/**
* Excel读取工具类
*/
public class ExcelReaderUtil {
/**
* 读取Excel文件
*
* @param filePath 文件路径
* @param readListener 读取监听器
* @param sheetNo 工作表编号,从0开始
* @param headRowNumber 头行行号,从0开始
*/
public static void readExcel(String filePath, ReadListener<Object> readListener, int sheetNo, int headRowNumber) {
// 构建Excel读取器
ExcelReaderBuilder builder = EasyExcel.read(filePath, readListener);
// 读取工作表
ReadSheet readSheet = EasyExcel.readSheet(sheetNo).headRowNumber(headRowNumber).build();
builder.read(readSheet).doRead();
}
/**
* 读取Excel文件
*
* @param file 文件对象
* @param readListener 读取监听器
* @param sheetNo 工作表编号,从0开始
* @param headRowNumber 头行行号,从0开始
*/
public static void readExcel(File file, ReadListener<Object> readListener, int sheetNo, int headRowNumber) {
readExcel(file.getAbsolutePath(), readListener, sheetNo, headRowNumber);
}
}
```
使用示例:
```java
public static void main(String[] args) {
String filePath = "D:/test.xlsx";
ExcelReaderUtil.readExcel(filePath, new MyReadListener(), 0, 0);
}
// 自定义读取监听器
public static class MyReadListener extends AnalysisEventListener<Object> {
@Override
public void invoke(Object data, AnalysisContext context) {
// 处理读取到的数据
}
@Override
public void doAfterAllAnalysed(AnalysisContext context) {
// 读取完成后的操作
}
}
```
以上代码中,`MyReadListener`为自定义的读取监听器,您可以根据具体的业务需求自行实现。`readExcel`方法中,`sheetNo`参数为要读取的工作表编号,从0开始;`headRowNumber`参数为头行行号,从0开始,表示表头所在行的行号。
阅读全文
相关推荐


















