
使用 refsheet 解决下拉列表项过多无法下拉的问题
在使用 apache poi 为 excel 模板设置下拉列表时,如果下拉项过多,可能会出现下拉框无法正常显示的问题。为了解决此问题,可以使用 refsheet 的方法。
具体方法是在创建一个辅助的工作表 refsheet,并在其中填充下拉列表中的所有选项。然后,在设置下拉列表的公式中引用 refsheet 的范围,即可避免由于下拉项过多导致的问题。
修改后的代码如下:
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);
// ...其余设置相同










