public class ScoresListener extends AnalysisEventListenerScores ArrayListScores scoress = new ArrayList; 每次读取到一行数据会执行此方法 param scores 监听器父类会读取到的一
public class ScoresListener extends AnalysisEventListener
@Override
public void invoke(Scores scores, AnalysisContext analysisContext) {
scoresList.add(scores);
}
@Override
public void doAfterAllAnalysed(AnalysisContext analysisContext) {
HashMap<String, Double> totalScoresMap = new HashMap<>();
for (Scores scores : scoresList) {
String name = scores.getName();
double grade = scores.getGrade();
if (totalScoresMap.containsKey(name)) {
double totalGrade = totalScoresMap.get(name);
totalScoresMap.put(name, totalGrade + grade);
} else {
totalScoresMap.put(name, grade);
}
}
ArrayList<Point> results = new ArrayList<>();
for (Map.Entry<String, Double> entry : totalScoresMap.entrySet()) {
String name = entry.getKey();
double totalGrade = entry.getValue();
Point result = new Point(name, totalGrade);
results.add(result);
}
String outputPath = "E:\\软件开发学习\\Java\\java_day15.0\\point.xlsx";
ExcelWriter writer = EasyExcel.write(outputPath).build();
WriteSheet sheet = EasyExcel.writerSheet("Sheet1").head(Point.class).build();
writer.write(results, sheet);
writer.finish();
}
原文地址: https://www.cveoy.top/t/topic/hStG 著作权归作者所有。请勿转载和采集!