|
@@ -9,14 +9,11 @@ import cn.com.qmth.examcloud.tool.utils.*;
|
|
|
import cn.com.qmth.examcloud.tool.vo.Pager;
|
|
|
import cn.com.qmth.examcloud.tool.vo.User;
|
|
|
import com.alibaba.excel.EasyExcel;
|
|
|
-import com.alibaba.excel.write.handler.SheetWriteHandler;
|
|
|
-import com.alibaba.excel.write.metadata.holder.WriteSheetHolder;
|
|
|
-import com.alibaba.excel.write.metadata.holder.WriteWorkbookHolder;
|
|
|
import com.fasterxml.jackson.core.type.TypeReference;
|
|
|
import com.fasterxml.jackson.databind.JsonNode;
|
|
|
+import com.google.common.collect.Lists;
|
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
-import org.apache.poi.ss.usermodel.Sheet;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -92,16 +89,32 @@ public class ExportStudentAnswerAndScoreDetailTask {
|
|
|
|
|
|
//todo
|
|
|
|
|
|
- final String dataFilePath = tempDir + "/" + examId + "_" + course.getCourseCode() + ".xlsx";
|
|
|
- File dataFile = new File(sysProperty.getDataDir() + "/" + dataFilePath);
|
|
|
+ List<List<Object>> excelRows = new ArrayList<>();
|
|
|
+ for (ExamStudentScoreVO vo : examStudentScoreList) {
|
|
|
+ List<Object> rowValues = Lists.newArrayList(
|
|
|
+ vo.getOrgName(),
|
|
|
+ vo.getCourseCode(),
|
|
|
+ vo.getCourseName(),
|
|
|
+ vo.getCourseLevel(),
|
|
|
+ vo.getIsAbsent(),
|
|
|
+ vo.getIdentityNumber(),
|
|
|
+ vo.getStudentCode(),
|
|
|
+ vo.getStudentName(),
|
|
|
+ vo.getGrade(),
|
|
|
+ vo.getSpecialtyName(),
|
|
|
+ vo.getObjectiveScore(),
|
|
|
+ vo.getSubjectiveScore(),
|
|
|
+ vo.getFinalExamScore());
|
|
|
+ excelRows.add(rowValues);
|
|
|
+ }
|
|
|
|
|
|
- EasyExcel.write(dataFile, ExamStudentScoreVO.class).registerWriteHandler(new SheetWriteHandler() {
|
|
|
- @Override
|
|
|
- public void afterSheetCreate(WriteWorkbookHolder workbookHolder, WriteSheetHolder sheetHolder) {
|
|
|
- Sheet sheet = sheetHolder.getSheet();
|
|
|
- sheet.createFreezePane(1, 1);
|
|
|
- }
|
|
|
- }).sheet().doWrite(examStudentScoreList);
|
|
|
+ List<String> excelHeaders = Lists.newArrayList("学习中心", "课程代码", "课程名称", "课程层次", "是否缺考", "身份证号", "学号", "姓名", "年级", "专业", "客观总分", "主观总分", "总分");
|
|
|
+ final String filePath = sysProperty.getDataDir() + "/" + tempDir + "/" + examId + "_" + course.getCourseCode() + ".xlsx";
|
|
|
+ EasyExcel.write(filePath)
|
|
|
+ .head(ExcelHelper.buildHeaders(excelHeaders))
|
|
|
+ .registerWriteHandler(ExcelHelper.sheetStrategy())
|
|
|
+ .registerWriteHandler(ExcelHelper.styleStrategy())
|
|
|
+ .sheet().doWrite(excelRows);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -111,7 +124,7 @@ public class ExportStudentAnswerAndScoreDetailTask {
|
|
|
Map<String, Object> params = new HashMap<>();
|
|
|
params.put("examId", examId);
|
|
|
params.put("courseId", courseId);
|
|
|
- params.put("pageSize", 2);
|
|
|
+ params.put("pageSize", 500);
|
|
|
|
|
|
Map<String, String> headers = new HashMap<>();
|
|
|
headers.put("key", key);
|
|
@@ -141,7 +154,6 @@ public class ExportStudentAnswerAndScoreDetailTask {
|
|
|
return all;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/**
|
|
|
* 获取考试相关的课程列表
|
|
|
*/
|