diff --git a/src/main/java/com/dsideal/FengHuang/Exam/Controller/ExamController.java b/src/main/java/com/dsideal/FengHuang/Exam/Controller/ExamController.java index d2bbaba..188263a 100644 --- a/src/main/java/com/dsideal/FengHuang/Exam/Controller/ExamController.java +++ b/src/main/java/com/dsideal/FengHuang/Exam/Controller/ExamController.java @@ -1,17 +1,24 @@ package com.dsideal.FengHuang.Exam.Controller; +import com.alibaba.fastjson.JSONObject; import com.dsideal.FengHuang.Exam.Model.ExamModel; import com.dsideal.FengHuang.Util.CommonUtil; import com.dsideal.FengHuang.Util.CookieUtil; +import com.dsideal.FengHuang.Util.ExcelCommonUtil; +import com.dsideal.FengHuang.Util.FileUtil; import com.jfinal.aop.Before; import com.jfinal.core.Controller; import com.jfinal.ext.interceptor.GET; import com.jfinal.ext.interceptor.POST; import com.jfinal.kit.Kv; +import com.jfinal.kit.PathKit; +import com.jfinal.kit.PropKit; import com.jfinal.plugin.activerecord.Page; import com.jfinal.plugin.activerecord.Record; +import java.io.File; import java.util.List; +import java.util.UUID; public class ExamController extends Controller { //实例化model @@ -103,7 +110,26 @@ public class ExamController extends Controller { */ @Before({GET.class}) public void getPageSummary(int page, int limit) { - Page list = em.getPageSummary(page,limit); + Page list = em.getPageSummary(page, limit); renderJson(CommonUtil.renderJsonForLayUI(list)); } + + /** + * 功能:导出EXCEL + */ + @Before({GET.class}) + public void exportExcel() { + Page list = em.getPageSummary(1, 10000); + //模板文件 + String excelPath = PathKit.getRootClassPath() + PropKit.get("excelExportTemplatePathSuffix").replace("\\", "/"); + String filePath = excelPath + "exam.json"; + //转成 json对象 + JSONObject jo = FileUtil.readJsonFile(filePath); + //导出 + String excelFile = excelPath + "excelTemp/" + UUID.randomUUID().toString().toUpperCase() + ".xls"; + ExcelCommonUtil.export(list, jo, excelFile); + //提供下载 + String filename = "排名结果.xls"; + renderFile(new File(excelFile), filename); + } } \ No newline at end of file diff --git a/src/main/resource/ExcelExportTemplate/exam.json b/src/main/resource/ExcelExportTemplate/exam.json new file mode 100644 index 0000000..b48f413 --- /dev/null +++ b/src/main/resource/ExcelExportTemplate/exam.json @@ -0,0 +1,29 @@ +{ + "title": "党建知识问答排名结果", + "sheetName": "结果表", + "titleHeight": 30, + "rowHeight": 30, + "showNumber": true, + "colInfo": [ + { + "show_column_name": "姓名", + "list_column_name": "person_name", + "width": 40 + }, + { + "show_column_name": "得分", + "list_column_name": "score", + "width": 40 + }, + { + "show_column_name": "开始时间", + "list_column_name": "start_time", + "width": 40 + }, + { + "show_column_name": "结束时间", + "list_column_name": "end_time", + "width": 40 + } + ] +} \ No newline at end of file