我正在尝试读取包含大字符串的单元格的内容。但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();
}
要读取的字符串长度是否有限制?
答案 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
我希望这能回答你的问题。你应该看看单元格包含多少个字符