diff --git a/zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/controller/McBasicCmtyController.java b/zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/controller/McBasicCmtyController.java index d87024b..6ffe332 100644 --- a/zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/controller/McBasicCmtyController.java +++ b/zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/controller/McBasicCmtyController.java @@ -194,9 +194,18 @@ public class McBasicCmtyController extends BaseController { List xllist = new ArrayList<>(); xllist.add("乡燃"); xllist.add("城燃"); + List xllist2 = new ArrayList<>(); + xllist2.add("雷行动项目(市政中压已覆盖)"); + xllist2.add("扫雷行动项目(市政中压未覆盖)"); + xllist2.add("新增空白项目(市政中压已覆盖)"); + xllist2.add("新增空白项目(市政中压未覆盖)"); + xllist2.add("已通气项目零散开发"); + HashMap> d = new HashMap<>(); + d.put(11,xllist); + d.put(12,xllist2); // 这里需要设置不关闭流 EasyExcel.write(response.getOutputStream(), McBasicCmty.class) - .registerWriteHandler(new McBasicCmtySheetWriteHandler(xllist, 11)) + .registerWriteHandler(new McBasicCmtySheetWriteHandler(d)) .autoCloseStream(Boolean.FALSE) .sheet("客户信息列表") .doWrite(list); diff --git a/zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/controller/McBasicMoneyController.java b/zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/controller/McBasicMoneyController.java index 48f4995..512efce 100644 --- a/zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/controller/McBasicMoneyController.java +++ b/zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/controller/McBasicMoneyController.java @@ -151,9 +151,11 @@ public class McBasicMoneyController extends BaseController { List xllist = new ArrayList<>(); xllist.add("乡燃"); xllist.add("城燃"); + HashMap> d = new HashMap<>(); + d.put(11,xllist); // 这里需要设置不关闭流 EasyExcel.write(response.getOutputStream(), McBasicMoney.class) - .registerWriteHandler(new McBasicCmtySheetWriteHandler(xllist, 11)) + .registerWriteHandler(new McBasicCmtySheetWriteHandler(d)) .autoCloseStream(Boolean.FALSE) .sheet("客户信息列表") .doWrite(list); diff --git a/zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/utils/listener/McBasicCmtyImportInspection.java b/zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/utils/listener/McBasicCmtyImportInspection.java index f8f24fe..dad54b2 100644 --- a/zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/utils/listener/McBasicCmtyImportInspection.java +++ b/zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/utils/listener/McBasicCmtyImportInspection.java @@ -33,6 +33,17 @@ public class McBasicCmtyImportInspection extends AnalysisEventListener selectDataList; - private int ls = 0; + private Map> selectDataMap; - public McBasicCmtySheetWriteHandler(List selectDataList, int ls) { - this.selectDataList = selectDataList; - this.ls = ls; + public McBasicCmtySheetWriteHandler(Map> selectDataMap) { + this.selectDataMap = selectDataMap; } - /** - * 想实现Excel引用其他sheet页数据作为单元格下拉选项值, - * 需要重写该方法 - * - * @param writeWorkbookHolder - * @param writeSheetHolder - */ @Override public void afterSheetCreate(WriteWorkbookHolder writeWorkbookHolder, WriteSheetHolder writeSheetHolder) { - // 构造下拉选项单元格列的位置,以及下拉选项可选参数值的map集合 - Map> selectParamMap = new HashMap<>(); - selectParamMap.put(ls, selectDataList); // 假设下拉选项放在第一列 - + int globalIndex = 1; // 获取第一个sheet页 Sheet sheet = writeSheetHolder.getCachedSheet(); // 获取sheet页的数据校验对象 @@ -40,14 +27,13 @@ public class McBasicCmtySheetWriteHandler implements SheetWriteHandler { // 获取工作簿对象,用于创建存放下拉数据的字典sheet数据页 Workbook workbook = writeWorkbookHolder.getWorkbook(); - // 迭代索引,用于存放下拉数据的字典sheet命名 - int index = 1; - for (Map.Entry> entry : selectParamMap.entrySet()) { + for (Map.Entry> entry : selectDataMap.entrySet()) { // 设置存放下拉数据的字典sheet,并把这些sheet隐藏掉,这样用户交互更友好 - String dictSheetName = "dict_hide_sheet" + index; + String dictSheetName = "dict_hide_sheet" + globalIndex; Sheet dictSheet = workbook.createSheet(dictSheetName); // 隐藏字典sheet页 - workbook.setSheetHidden(index++, true); + workbook.setSheetHidden(globalIndex, true); + // 创建一个名为“dictSheetName”的名称,指向字典表中的数据区域 String refers = dictSheetName + "!$A$1:$A$" + (entry.getValue().size() + 1); Name name = workbook.createName(); @@ -69,7 +55,7 @@ public class McBasicCmtySheetWriteHandler implements SheetWriteHandler { DataValidation dataValidation = helper.createValidation(constraint, infoList); sheet.addValidationData(dataValidation); - index++; + globalIndex++; } } } -- libgit2 0.21.2