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中的数据有效性看到数据来源

参考文献

相关推荐
Access开发易登软件5 小时前
在 Access 实现标签输入控件:VBA + HTML 混合开发实战
前端·数据库·信息可视化·html·excel·vba·access
胡斌附体5 小时前
配置导入事务问题与修复总结
excel·导入·spring事务·吞异常·使用独立事务
王夏奇6 小时前
Python-对excel文件操作的总览
开发语言·python·excel
林月明6 小时前
【Coze基础】Excel保存CSV文件时其设置为UTF-8编码,将数据导入数据库中
数据库·sql·oracle·excel·code·学习经验
howard20056 小时前
Pandas读取包含多个工作表的Excel文件
excel·pandas
Dylan~~~7 小时前
Excel MCP Server:用自然语言操控 Excel,开启“对话式电子表格“新时代
excel·ai编程
catoop7 小时前
Excel 实战技巧:利用 OFFSET 统计 “标识行” 下方的数值总和
excel
SHolmes18541 天前
Excel 公式解析:按条件去重计数
excel
用户298698530141 天前
告别手动复制:.NET 将网页数据一键导出为 Excel
后端·html·excel
竹林8181 天前
从零到精通:用 Python openpyxl 批量处理 Excel,彻底告别重复劳动
python·excel