From 47cd9ecc0eff38ffe6b3b794b2bf197e958f4403 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期三, 14 五月 2025 15:50:57 +0800 Subject: [PATCH] bug:学员有状态不能修改问题 --- 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..07d185b 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