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

参考文献

相关推荐
百事牛科技14 小时前
Excel打开密码怎么设置?一篇讲清楚
windows·excel
玩泥巴的14 小时前
基于.NET操作Excel COM组件生成数据透视报表
c#·.net·excel·二次开发·com互操作
2301_8002561114 小时前
【数据库】查找距离最近的电影院 pgSQL 存储过程片段
大数据·数据库·excel
城数派15 小时前
我国省市县三级逐日、逐月和逐年降水数据(Shp/Excel格式)1960-2024年
大数据·数据分析·excel
WKP941815 小时前
POI操作excel示例
java·开发语言·excel
用一个不重复的昵称16 小时前
excel 去除特殊字符,仅保留中英文字符和数字
excel
fensnote16 小时前
QT使用QtXlsxWriter读取excel文件
开发语言·qt·excel
高山莫衣16 小时前
读取手机通信录vCard文件(后缀vcf)文件并导出为excel表格
智能手机·excel
jogging16 小时前
mysql导出表结构信息到excel【DBeaver】
mysql·oracle·excel·导出·表结构
未来之窗软件服务16 小时前
万象EXCEL应用(二十二) Excel火锅店物资采购自动统计台账报表——东方仙盟炼气期
excel·仙盟创梦ide·东方仙盟·万象excel