系列文章目录
文章目录
系列文章目录POI操作EXCEL增加下拉框POI操作EXCEL增加下拉框
原文链接 https://zhhll.icu//第三方工具/POI/1.POI操作EXCEL增加下拉框/
有时候通过excel将数据批量导入到系统,而业务操作人员对于一些列不想手动输入,而是采用下拉框的方式来进行选择
采用隐藏sheet页的方式来进行操作
String sheetName = "supplier_hidden_sheet";HSSFSheet supplierSheet = workbook.createSheet(sheetName);//隐藏的sheet,用于存放下拉框的限定值int count = 0;for(String supplierName : suppliers){supplierSheet.createRow(count++).createCell(0).setCellValue(supplierName);}String col = "A";//设置数据有效性加载在哪个单元格上,四个参数分别是:起始行、终止行、起始列、终止列CellRangeAddressList regions = new CellRangeAddressList(1, dataList.size(), supplierColumn, supplierColumn);// 这是表示从隐藏sheet页的哪列哪行到哪列哪行 如该格式 supplier_hidden_sheet!$A$1:$A$73 String cell = "\""+sheetName +"!$"+col+"$1:$"+col+"$"+suppliers.size()+"\"";// 引用ShtDictionary 的单元格DVConstraint constraint = DVConstraint.createFormulaListConstraint("INDIRECT("+cell+ ")");// 数据检验为该格式 =INDIRECT("supplier_hidden_sheet!$A$1:$A$73")HSSFDataValidation dataValidate = new HSSFDataValidation(regions, constraint);sheet.addValidationData(dataValidate);workbook.setSheetHidden(1,true);
可以在EXCEL中的数据有效性看到数据来源