以下是我正在尝试使用Apache POI库从Excel文件(.xlsx)中读取的下拉列表。
我浏览了Apache POI文档,并了解了如何继续 -
List
从表单中获取XSSFValidations
getDataValidations()
。我们称之为 validationsList XSSFValidation
中的每个List
进行迭代,并通过调用返回列表中的方法getValidationConstraint().getExplicitListValues()
来检索内容(即 validationsList )。以下是我为此功能编写的完整代码 -
CellReference ref = new CellReference("D17");
Row r = userOperationInput_Sheet.getRow(ref.getRow());
if (r != null) {
Cell dropDownCell = r.getCell(ref.getCol());
if (dropDownCell.getCellType() == Cell.CELL_TYPE_STRING) {
System.out.println(dropDownCell.getStringCellValue());
validationsList = userOperationInput_Sheet.getDataValidations();
System.out.println("List Size : "+ validationsList.size());
if (validationsList.isEmpty()) {
System.out.println("No Validations Found");
} else {
for (XSSFDataValidation myValidation : validationsList) {
System.out.println("Found Validation");
listValues = myValidation.getValidationConstraint().getExplicitListValues();
}
}
}
即使我清楚地看到D17中存在一个下拉列表,每次运行时都会打印其字符串值,但每次我尝试获取XSSFValidations列表时,它仍然会打印No Validations Found
。
有什么建议吗?我在这里缺少什么?
编辑 - 在我的问题描述中更改了List变量的名称以匹配我在代码中写的内容,以避免任何混淆。 :)
答案 0 :(得分:0)
您可以尝试从下面获取下拉数据:
now doorname is locked
如果您找到任何其他解决方案,请在此处发布。这将是非常有帮助的,谢谢!