/**
* 下拉框动态加载
* @param workbook
*/
private void changeModelBody(Workbook workbook) {
Sheet sheet = workbook.getSheetAt(0);
HashMap<Integer,String[]> dropDownMap = new HashMap<>();
List<DictionaryData> listProductLine = dictionaryDataService.getByDictionaryCode(ProductionLineIdEnum.DICTIONARY_CODE);
List<DictionaryData> listClasses = dictionaryDataService.getByDictionaryCode(UseTimeCode.DICTIONARY_CODE);
String[] productLine = listProductLine.stream().map(DictionaryData::getDataName).toArray(String[]::new);
String[] classes = listClasses.stream().map(DictionaryData::getDataName).toArray(String[]::new);
//班次所在列
dropDownMap.put(2,classes);
//产线所在列
dropDownMap.put(6,productLine);
if(null != dropDownMap && !dropDownMap.isEmpty() ){
dropDownMap.forEach((k,v)->{
DataValidationHelper dvHelper = sheet.getDataValidationHelper();
//设置范围
CellRangeAddressList addressList = new CellRangeAddressList(ROW_START_OF_DATA, 10000, k, k);
// 创建下拉列表数据
DataValidationConstraint dvConstraint = dvHelper.createExplicitListConstraint(v);
// 绑定
DataValidation validation = dvHelper.createValidation(dvConstraint, addressList);
sheet.addValidationData(validation);
});
}
}
POI实现Excel下拉框动态加载
最新推荐文章于 2022-11-29 16:03:10 发布