From 33fdb033e0a6b5ef6b2f8ac5fc67ad8222e564e5 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期五, 17 五月 2024 14:49:12 +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..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