Apache POI-无法读取单元格的内容

时间:2017-02-22 07:25:27

标签: java apache-poi

我正在尝试读取包含大字符串的单元格的内容。但Cell读取将其作为空白。不提取包含大字符串的单元格,而提取其他单元格数据。

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 个答案:

答案 0 :(得分:1)

  

public static final SpreadsheetVersion EXCEL2007 Excel2007

     

可用行的总数为1M(2 ^ 20)

     

可用列的总数为16K(2 ^ 14)

     

函数的最大参数个数为255

     

单元格上的条件格式条件数量不受限制   (实际上受Excel中可用内存的限制)

     

单元格样式数为64000

     

文本单元格内容的长度为32767

取自此处:https://poi.apache.org/apidocs/org/apache/poi/ss/SpreadsheetVersion.html

我希望这能回答你的问题。你应该看看单元格包含多少个字符