java - 如何读取Excel单元格值中的下拉列表项?

标签 java excel apache-poi

我已在同一单元格中保存了相同类型的联系方式(例如,一个人有多个电子邮件地址)我已将它们保存为一个单元格中的列表,但在迭代 Excel 时我无法读取它们床单。我只能读取当前选择/显示的选项,其他选项将被忽略。我正在使用java

//Read sheet inside the workbook by its name

Sheet _workSheet = _workbook.getSheet(sheetName);

//Iterate through each rows
Iterator<Row> rowIterator = _workSheet.iterator();

while(rowIterator.hasNext())
{
    //Get Each Row
    Row row_ = rowIterator.next();

    //Iterator through each column of each row
    Iterator<Cell> cellIterator = row_.cellIterator();

    while(cellIterator.hasNext())
    {
        Cell cell = cellIterator.next();                         

        //Checking the cell format
        switch(cell.getCellType())
        {
            case Cell.CELL_TYPE_NUMERIC:
                System.out.println(cell.getNumericCellValue()+"\n");
                break;

            case Cell.CELL_TYPE_STRING:
                System.out.println(cell.getStringCellValue()+"\n");
                break;

            case Cell.CELL_TYPE_BOOLEAN:
                System.out.println(cell.getBooleanCellValue()+"\n");
                break;

            case Cell.CELL_TYPE_BLANK:
                System.err.println(cell.getStringCellValue()+" .....empty cell");
                break;
        }
    }
    System.err.println("");

}

在单元格“A2”中,我期望获得两个值(emailone、emailTwo)

最佳答案

These did the trick;
List<XSSFDataValidation> dataValidations = sheet.getDataValidations();
            Iterator<XSSFDataValidation> iterator = dataValidations.iterator();
            XSSFDataValidation dataValidation = iterator.next();
            String[] explicitListValues = dataValidation.getValidationConstraint().getExplicitListValues();

关于java - 如何读取Excel单元格值中的下拉列表项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58028843/

相关文章:

java - Maven ear 插件 - "doubled"artifact 不使用 clean

java - 使用 JExcelApi 将包含时间的 Excel 单元格值报告为 12 小时而不是 24 小时

vba - 从 VBA 打开工作簿并禁用 Workbook_Open() 代码?

apache-poi - Apache POI - Excel 中的水印 - Excel 和 LibreOffice 中的外观不同

java - 如果有任何编辑文本聚焦,松下扫描仪将在编辑文本中插入数据

java - 如何改进 HashMap 数组中的搜索

java - 为 SonarCloud 构建多模块 maven 项目

excel - 使用 AND() 函数进行条件格式化

java - Apache POI 花费了极长的时间写入工作簿

java - 如何使用 Apache POI 检查 Excel 单元格是否为空?