pom
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version.easyexcel>2.2.6</version.easyexcel>
</dependency>
easyExcelUtil
package com.yuanda.erp9.syn.util;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.SyncReadListener;
import org.springframework.util.StringUtils;
import java.security.MessageDigest;
import java.util.Calendar;
import java.util.HashMap;
import java.util.Map;
import java.util.function.Consumer;
import java.util.regex.Pattern;
public class EasyExcelUtils {
public static <T> void readExcel(String path, Class<T> T, Consumer<T> consumer) {
EasyExcel.read(path, T, new SyncReadListener() {
@Override
public void invoke(Object object, AnalysisContext context) {
Integer rowNumber = context.readSheetHolder().getApproximateTotalRowNumber();
consumer.accept((T) object);
}
}).doReadAll();
}
public static <T> void readExcelBySheet(String path, Class<T> T, Consumer<T> consumer, String sheetName) {
EasyExcel.read(path, T, new SyncReadListener() {
@Override
public void invoke(Object object, AnalysisContext context) {
consumer.accept((T) object);
}
}).sheet(sheetName).headRowNumber(1).doReadSync();
}
}
使用
EasyExcelUtils.readExcel(filePath, FutureExcelData.class, new Consumer<FutureExcelData>() {
@Override
public void accept(FutureExcelData futureExcelData) {
## 解析excel代码
}
});