@Override
public Workbook exportExcel(List<AssessTotal> assessTotals) throws Exception {
List<String> courseNames = new ArrayList<>();
Workbook wb = new HSSFWorkbook();
List<studentValidGrade> svg = new ArrayList<>();
AssessCurriculum assessCurriculum = assessTotals.get(0).getAssessCurriculum();
if (assessCurriculum != null) svg = assessCurriculum.getStudentScores();
if (svg != null && svg.size() > 0) {
for (studentValidGrade s :
svg) {
courseNames.add(s.getCourseName());
}
}
Sheet sheet = wb.createSheet();
Row row = sheet.createRow(0);
Cell cell = row.createCell(0);
cell.setCellValue("排名");
cell = row.createCell(1);
cell.setCellValue("姓名");
cell = row.createCell(2);
cell.setCellValue("性别");
cell = row.createCell(3);
cell.setCellValue("院系");
int i = 0;
if (courseNames != null && !StringUtils.isEmpty(courseNames)) {
for (; i < courseNames.size(); i++) {
cell = row.createCell(4 + i);
cell.setCellValue(courseNames.get(i));
}
}
cell = row.createCell(4 + i);
cell.setCellValue("平均分");
cell = row.createCell(5 + i);
cell.setCellValue("专业文化素质成绩");
cell = row.createCell(6 + i);
cell.setCellValue("思想道德素质分");
cell = row.createCell(7 + i);
cell.setCellValue("学生身体素质评定分");
cell = row.createCell(8 + i);
cell.setCellValue("社会实践能力评定分");
for (int j = 0; j < assessTotals.size(); j++) {
row = sheet.createRow(j + 1);
AssessTotal assessTotal = assessTotals.get(j);
AssessBody assessBody = assessTotal.getAssessBody();
AssessCurriculum ac = assessTotal.getAssessCurriculum();
AssessMorality am = assessTotal.getAssessMorality();
AssessSocial as = assessTotal.getAssessSocial();
row.createCell(0).setCellValue(j + 1);
StudentInfo si = studentInfoRepository.findByStudentNo(assessTotal.getStuNo());
if (si != null) row.createCell(1).setCellValue(si.getStudentName());
row.createCell(2).setCellValue(assessTotal.getGender());
row.createCell(3).setCellValue(assessTotal.getDeptName());
int m = 0;
if (courseNames != null && !StringUtils.isEmpty(courseNames)) {
for (; m < courseNames.size(); m++) {
cell = row.createCell(4 + m);
cell.setCellValue(courseNames.get(m));
}
}
if (ac != null) row.createCell(4 + m).setCellValue(assessTotal.getAssessCurriculum().getAvgScore());
if (ac != null) row.createCell(5 + m).setCellValue(assessTotal.getAssessCurriculum().getCurrSorce());
if (am != null) row.createCell(6 + m).setCellValue(assessTotal.getAssessMorality().getMoralityScore());
if (assessBody != null) row.createCell(7 + m).setCellValue(assessBody.getBodyScore());
if (as != null) row.createCell(8 + m).setCellValue(assessTotal.getAssessSocial().getSocialScore());
}
return wb;
}