Как прочитать список выпадающих списков в значении ячейки Excel? - PullRequest
0 голосов
/ 20 сентября 2019

Я сохранил контактные данные одного и того же типа в одной и той же ячейке (например, у человека более одного адреса электронной почты). Я сохранил их в виде списка в одной ячейке, но не могу их прочитать при переборе своего 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)

1 Ответ

0 голосов
/ 20 сентября 2019
These did the trick;
List<XSSFDataValidation> dataValidations = sheet.getDataValidations();
            Iterator<XSSFDataValidation> iterator = dataValidations.iterator();
            XSSFDataValidation dataValidation = iterator.next();
            String[] explicitListValues = dataValidation.getValidationConstraint().getExplicitListValues();
...