2017-02-22 21 views
0

Я пытаюсь прочитать содержимое ячейки, которая содержит большую строку. Но чтение ячейки дает ему как пустое. Ячейка, содержащая большую строку, не извлекается, тогда как другие данные ячейки извлекаются.Apache POI- Не удалось прочитать содержимое ячейки

try{ 
     FileInputStream inputStream = new FileInputStream(new File(strFileName)); 
     Workbook workbook = new XSSFWorkbook(inputStream); 
     Sheet sheetName=null; 
     sheetName = workbook.getSheet(strSheetName); 
     Iterator<Row> iterator = sheetName.iterator(); 

     while (iterator.hasNext()) { 
      if(blnHasHeader){ 
       // Data starts from next row 
       iterator.next(); 
       blnHasHeader=false; 
       continue; 
      } 
      ArrayList<String> arrRow = new ArrayList<String>(); 
      Row nextRow = iterator.next(); 
      Iterator<Cell> cellIterator = nextRow.cellIterator(); 
      while (cellIterator.hasNext()) { 
       Cell cell = cellIterator.next(); 
       switch (cell.getCellType()) { 
       case Cell.CELL_TYPE_STRING: 
        arrRow.add(String.valueOf(cell.getStringCellValue())); 
        System.out.println(String.valueOf(cell.getStringCellValue())); 
        break; 
       case Cell.CELL_TYPE_BOOLEAN: 
        arrRow.add(String.valueOf(cell.getBooleanCellValue())); 
        break; 
       case Cell.CELL_TYPE_NUMERIC: 
        arrRow.add(String.valueOf(cell.getNumericCellValue())); 
        System.out.println(String.valueOf(cell.getNumericCellValue())); 
        break; 
       case Cell.CELL_TYPE_BLANK: 
        arrRow.add(""); 
        System.out.println("Blank"); 
        break; 
       } 

      } 
      arrReturnArrayList.add(arrRow); 
     } 
     workbook.close(); 
     inputStream.close(); 
    } catch (FileNotFoundException e) { 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

Существует ли ограничение на длину строки для чтения?

+1

Что такое «большая» строка для вас? – XtremeBaumer

+0

Его строка, содержащая около 450-500 слов –

+0

Длина строки: 9672. –

ответ

1

общественности статической окончательного SpreadsheetVersion Excel2007 Excel2007

Общее количество доступных строк 1М (2^20)

Общее количество доступных столбцов 16K (2^14)

Максимальное количество аргументов функции - 255

Число условий условного формата на ячейке неограничено (фактически ограничен доступностью е памяти в Excel)

Количество стилей ячеек составляет 64000

Длина содержимого текстовых ячеек составляет 32767

взято отсюда: https://poi.apache.org/apidocs/org/apache/poi/ss/SpreadsheetVersion.html

я надеюсь, что это ответ на ваш вопрос. вы должны посмотреть, сколько символов содержится в ячейке