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