@Override
public void statCheckAndCaptureOutPutExcel(Query params, HttpServletRequest req,
HttpServletResponse resp) {
// 创建表格时间
// 2.定义变量值 创建Excel文件
String headString = "学上考试成绩统计"; // 定义表格标题
String fileName = DateUtil.format(new Date(), DateUtil.DATE_TIME_PATTERN_14) + headString; // 定义文件名
String sheetName = DateUtil.format(new Date(), DateUtil.DATE_TIME_PATTERN_14) + headString; // 定义工作表表名
String[] columnNames = { "姓名", "考试时间", "科目", "及格次数", "及格率","班级" };

int[] sheetWidth = { 4500, 5500, 4500, 4500, 4500 }; // 定义每一列宽度

XSSFWorkbook wb = new XSSFWorkbook(); // 创建Excel文档对象
XSSFSheet sheet = wb.createSheet(sheetName); // 创建工作表
// 3.生成表格
// ①创建表格标题
ExportExcelXssfUtil.createHeadTittle(wb, sheet, headString, columnNames.length - 1);
// ②创建表头
ExportExcelXssfUtil.createThead(wb, sheet, columnNames, sheetWidth, 1);

// 实体类转换为map
List<LinkedHashMap<String, String>> result = setExcelStatCheckAndCaptureMap(params);
// ③填入数据
List<Integer> colIdxs = new LinkedList<Integer>();
colIdxs.add(0);
colIdxs.add(1);
colIdxs.add(1);
List<Integer> startCells = new LinkedList<Integer>();
startCells.add(0);
startCells.add(1);
startCells.add(4);
List<Integer> endCells = new LinkedList<Integer>();
endCells.add(0);
endCells.add(1);
endCells.add(5);
List<String> flgKays = new LinkedList<String>();
flgKays.add("name");
flgKays.add("examtime");
flgKays.add("examtime");
// ③填入数据
ExportExcelXssfUtil.createTable(wb, sheet, result, 2, colIdxs, startCells, endCells, false, flgKays);
// ④输出流网页下载
ExportExcelXssfUtil.respOutPutExcel(fileName, wb, req, resp);
}