我需要在Excel工作表中的特定单元格上创建一个下拉列表(数据验证)并将其读回.
在Apache POI提供的教程的帮助下,我能够在Excel工作表中创建一个下拉列表,但是我还需要在再次阅读时阅读下拉列表内容,以便我可以渲染类似的下拉UI上的下拉列表.
有什么建议?
解决方法
我似乎无法在HSSF中找到任何从HSSFSheet检索DataValidations的机制.所以如果你有一个.xls文件,那你就不走运了.
但是,如果您有.xlsx文件,则XSSFSheet提供一种方法来检索工作表上的所有XSSFDataValidations列表:getDataValidations
,它返回List< XSSFDataValidation>.
你需要遍历所有这些,调用regions()
来检查CellRangeAddressList以查看它是否适用于你的单元格.如果是,则调用getValidationConstraint
以访问DataValidationConstraint对象,您可以在该对象上调用getExplicitListValues
以获取字符串数组.