This repository was archived by the owner on Sep 4, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 7.6k
This repository was archived by the owner on Sep 4, 2025. It is now read-only.
漏读第一行(标题行下一行)的问题 #4031
Copy link
Copy link
Open
Labels
bugSomething isn't workingSomething isn't working
Description
触发场景描述
在我使用EasyExcel进行某个文档处理时,漏读了第一行数据(标题行的下一行)
触发Bug的代码
Test.java
public class Test {
@org.junit.Test
public void testEasy() throws IOException {
//文件附在最后
String url="";
//遍历申请附件
ScheduleForOnlineListener listener=new ScheduleForOnlineListener();
//根据type选择对应的类
EasyExcel.read(new File(url), ScheduleForOnline.class, listener)
.sheet()
.headRowNumber(3)
.doRead();
List<ScheduleForOnline> dataList=listener.getDataList();
System.out.println(dataList);
}
}ScheduleForOnline.java
@Data
public class ScheduleForOnline {
@ExcelProperty("序号")
private String order;
@ExcelProperty("单位名称")
private String trainingInstitutionName;
@ExcelProperty("统一机构代码")
private String unifiedInstitutionCode;
@ExcelProperty("项目类别")
private String projectCategory;
@ExcelProperty("项目名称")
private String projectName;
@ExcelProperty("初审不合格人数")
private Integer initialReviewNotPassCount;
@ExcelProperty("初审通过人数")
private Integer initialReviewPassCount;
@ExcelProperty("补贴标准(元)")
private Integer subsidyStandard;
@ExcelProperty("初审金额(元)")
private Double initialReviewAmount;
@ExcelProperty("开户银行")
private String bank;
@ExcelProperty("银行基本户账号")
private String bankAccount;
}ScheduleForOnlineListener.java
public class ScheduleForOnlineListener implements ReadListener<ScheduleForOnline> {
@Getter
private List<ScheduleForOnline> dataList = new ArrayList<>();
private boolean foundTotal = false;
@Override
public void invoke(ScheduleForOnline data, AnalysisContext context) {
if (data.getOrder() != null && data.getOrder().contains("合计")) {
foundTotal = true;
return;
}
dataList.add(data);
}
@Override
public void onException(Exception e, AnalysisContext analysisContext) throws Exception {
// Handle exception
}
@Override
public void invokeHead(Map<Integer, ReadCellData<?>> map, AnalysisContext analysisContext) {
// Handle header row
}
@Override
public void extra(CellExtra cellExtra, AnalysisContext analysisContext) {
// Handle extra cell data
}
@Override
public void doAfterAllAnalysed(AnalysisContext analysisContext) {
// Handle after all data is analyzed
}
@Override
public boolean hasNext(AnalysisContext analysisContext) {
return !foundTotal;
}
}提示的异常或者没有达到的效果
文件:
e90f8254-ffb1-48f9-b7d9-fd7dd370347f_20241017105407A001.xls
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working

