public class ScoresListener extends AnalysisEventListener { ArrayList scoresList = new ArrayList<>();

@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();
}
public class ScoresListener extends AnalysisEventListenerScores ArrayListScores scoress = new ArrayList; 每次读取到一行数据会执行此方法 param scores 监听器父类会读取到的一

原文地址: https://www.cveoy.top/t/topic/hStG 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录