POI操作EXCEL增加下拉框


文章目录


POI操作EXCEL增加下拉框

有时候通过excel将数据批量导入到系统,而业务操作人员对于一些列不想手动输入,而是采用下拉框的方式来进行选择

采用隐藏sheet页的方式来进行操作

java 复制代码
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中的数据有效性看到数据来源

参考文献

相关推荐
inxunoffice25 分钟前
根据模板将 Excel 明细数据生成 Txt 文档|邮件合并
excel
无级程序员27 分钟前
基础框架系列分享:一个通用的Excel报表生成管理框架
excel·报表
浪游东戴河2 小时前
电脑基础之excel基础操作
excel·表格·对齐·电脑基础
冬天vs不冷3 小时前
EasyExcel导出自动回显中文,读取自动转换码值(基于全局转换器与自定义注解)
java·excel
gc_229913 小时前
C#测试Excel开源组件ExcelDataReader
c#·excel·exceldatareader
Fri_15 小时前
Vue 使用 xlsx 插件导出 excel 文件
javascript·vue.js·excel
开开心心就好16 小时前
便携免安装,畅享近 30 种 PDF 文档处理功能
java·服务器·python·eclipse·pdf·word·excel
山乐1913119 小时前
Excel去掉单元格里面的换行的方法
excel
余子桃19 小时前
pyexcelerate在写入Excel时为何效率高?
excel
一城烟雨_20 小时前
vue-office 支持预览多种文件(docx、excel、pdf、pptx)预览的vue组件库
vue.js·pdf·excel