poi设置下拉列表报错?

前端请求文件模板,代码生成excel模板。其中有一列数据要做成下拉的模式。
功能也实现了。
但是如果下拉列表的下拉项过多。下载出的文件模板,下拉项点击无法展示出来。20多个下拉选项是可以正确下拉的,40多个就不行了。这个如果解决??

            //下拉选项

String[] departList = list.subList(0,35).stream().map(v->{

return v.getDepartName();

}).distinct().toArray(String[]::new);

//设置下拉的选项

XSSFDataValidationHelper helper = new XSSFDataValidationHelper(sheet);

DataValidationConstraint constraint = helper.createExplicitListConstraint(departList);

//设置影响的行和列

CellRangeAddressList addressList = new CellRangeAddressList(1, 300, 2, 2);

//设置校验

DataValidation validation = helper.createValidation(constraint, addressList);

validation.setSuppressDropDownArrow(true);

validation.setShowErrorBox(true);

validation.setErrorStyle(DataValidation.ErrorStyle.STOP);

validation.createErrorBox("提示","部门不存在!");

sheet.addValidationData(validation);


回答:

XSSFSheet refSheet = workbook.createSheet("refSheet");

for (int i = 0; i < departList.length; i++) {

XSSFRow row = refSheet.createRow(i);

XSSFCell cell = row.createCell(0);

cell.setCellValue(departList[i]);

}

String formula = "refSheet!$A$1:$A$" + departList.length;

DataValidationConstraint constraint = helper.createFormulaListConstraint(formula);

// ...其余设置相同

以上是 poi设置下拉列表报错? 的全部内容, 来源链接: utcz.com/p/945428.html

回到顶部