场景:测试要求读取excel文件要读取空行,空行读取设置为true;这个时候如果尾部单元格的填充过数据,也会一并读取,上网搜索无果,进行数据倒叙清理:
@Override public void doAfterAllAnalysed(AnalysisContext context) { String sheetName = context.readSheetHolder().getSheetName(); currentSheetData.sort(Comparator.comparingInt(CellTemplate::getRowNo).reversed()); int i = 0; while (i < currentSheetData.size()) { CellTemplate data = currentSheetData.get(i); if (isAllFieldsNullExceptRowNo(data)) { currentSheetData.remove(i); } else { break; } } currentSheetData.sort(Comparator.comparingInt((CellTemplate::getRowNo))); List<CellTemplate> sheetData = new ArrayList<>(); sheetData.addAll(currentSheetData); sheetDataMap.put(sheetName, sheetData); currentSheetData.clear(); }