From 3ec909b27b3eba956aa9d00cc7a94c179bd04bbf Mon Sep 17 00:00:00 2001 From: 龚焕茏 <2842157468@qq.com> Date: 星期三, 03 七月 2024 18:29:31 +0800 Subject: [PATCH] feat:新增随机时间题目配置 --- src/main/java/com/mindskip/xzs/excel/SelectExcel.java | 49 ++++++++++++++++++++++++++++++++++++------------- 1 files changed, 36 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/mindskip/xzs/excel/SelectExcel.java b/src/main/java/com/mindskip/xzs/excel/SelectExcel.java index 4ad8e22..70e36d2 100644 --- a/src/main/java/com/mindskip/xzs/excel/SelectExcel.java +++ b/src/main/java/com/mindskip/xzs/excel/SelectExcel.java @@ -2,16 +2,11 @@ import com.alibaba.excel.metadata.Head; import com.alibaba.excel.metadata.data.WriteCellData; -import com.alibaba.excel.write.handler.AbstractCellWriteHandler; import com.alibaba.excel.write.handler.CellWriteHandler; import com.alibaba.excel.write.metadata.holder.WriteSheetHolder; import com.alibaba.excel.write.metadata.holder.WriteTableHolder; import org.apache.poi.ss.usermodel.*; -import org.apache.poi.ss.util.CellRangeAddress; import org.apache.poi.ss.util.CellRangeAddressList; - -import java.util.ArrayList; -import java.util.Arrays; import java.util.List; /** @@ -22,8 +17,22 @@ */ public class SelectExcel implements CellWriteHandler { - private String[] questionTypeList = {"鍗曢��", "澶氶��", "鍒ゆ柇"}; - private String[] subjectTypeList = {"a","b"}; + /** + * 棰樼洰绫诲瀷 + */ + private String[] questionTypeList = {"鍗曢�夐", "澶氶�夐", "鍒ゆ柇棰�"}; + /** + * 璇剧洰 + */ + private List<String> subjectNameList; + /** + * 閫夐」涓嬫媺鏁版嵁 + */ + private String[] optionList = {"A","B","C","D","E","F","G","H"}; + + public SelectExcel(List subjectNameList) { + this.subjectNameList = subjectNameList; + } @Override public void afterCellDispose(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, List<WriteCellData<?>> cellDataList, Cell cell, Head head, Integer relativeRowIndex, Boolean isHead) { @@ -31,23 +40,37 @@ Sheet sheet = writeSheetHolder.getSheet(); - // 鑾峰彇鏁版嵁鏍¢獙helper + // 鑾峰彇鏁版嵁鏍¢獙helper锛宔xcel鐨勪笅鎷夊氨鏄�氳繃鏁版嵁鏍¢獙璁剧疆 DataValidationHelper dataValidationHelper = sheet.getDataValidationHelper(); - // 璁剧疆棰樼洰涓嬫媺鑼冨洿锛岀涓�鍒楋紝500琛屽唴 - CellRangeAddressList questionTypeRange = new CellRangeAddressList(0, 500, 0, 0); + // 璁剧疆棰樼洰涓嬫媺鑼冨洿锛岀涓�鍒楋紝1500琛屽唴 + CellRangeAddressList questionTypeRange = new CellRangeAddressList(1, 1500, 0, 0); // 娣诲姞棰樼洰涓嬫媺 DataValidationConstraint questionConstraint = dataValidationHelper.createExplicitListConstraint(questionTypeList); DataValidation questionValidation = dataValidationHelper.createValidation(questionConstraint, questionTypeRange); sheet.addValidationData(questionValidation); - // 璁剧疆璇剧洰涓嬫媺鑼冨洿锛岀2鍒楋紝500琛屽唴 - CellRangeAddressList subjectTypeRange = new CellRangeAddressList(0, 500, 1, 1); + // 璁剧疆璇剧洰涓嬫媺鑼冨洿锛岀2鍒楋紝1500琛屽唴 + CellRangeAddressList subjectTypeRange = new CellRangeAddressList(1, 1500, 1, 1); // 娣诲姞璇剧洰涓嬫媺 - DataValidationConstraint subjectConstraint = dataValidationHelper.createExplicitListConstraint(subjectTypeList); + DataValidationConstraint subjectConstraint = dataValidationHelper.createExplicitListConstraint(subjectNameList.toArray((new String[0]))); DataValidation subjectValidation = dataValidationHelper.createValidation(subjectConstraint, subjectTypeRange); sheet.addValidationData(subjectValidation); + // 璁剧疆閫夐」涓嬫媺鑼冨洿锛岀4鍒楋紝1500琛屽唴 + CellRangeAddressList optionRange = new CellRangeAddressList(2, 1500, 3, 3); + // 娣诲姞閫夐」涓嬫媺 + DataValidationConstraint optionConstraint = dataValidationHelper.createExplicitListConstraint(optionList); + DataValidation optionValidation = dataValidationHelper.createValidation(optionConstraint, optionRange); + sheet.addValidationData(optionValidation); + + // 璁剧疆閫夐」涓嬫媺鑼冨洿锛岀4鍒楋紝1500琛屽唴 + CellRangeAddressList answerRange = new CellRangeAddressList(2, 1500, 5, 5); + // 娣诲姞閫夐」涓嬫媺 + DataValidationConstraint answerConstraint = dataValidationHelper.createExplicitListConstraint(optionList); + DataValidation answerValidation = dataValidationHelper.createValidation(answerConstraint, answerRange); + sheet.addValidationData(answerValidation); + } } -- Gitblit v1.8.0