我在迭代一行中的所有单元时遇到问题,我能够正确读取前4个单元格,并将所有单元格都作为空值休息。任何帮助表示赞赏 //下面是我使用当使用Apache POI库时,无法读取一行中的所有单元格值
InputStream is = new FileInputStream(new File(fileName));
Workbook workbook = new XSSFWorkbook(is);
int numberOfSheets = workbook.getNumberOfSheets();
for (int i = 0; i < numberOfSheets; i++) {
Sheet sheet = workbook.getSheetAt(i);
String name = sheet.getSheetName();
if (name.equals(sheetName)) {
Iterator<Row> rowItr = sheet.rowIterator();
while (rowItr.hasNext()) {
Row eachRow = rowItr.next();
QuestionObjBuilder builder = new QuestionObjBuilder();
Iterator<Cell> cellItr = eachRow.cellIterator();
int index = 1;
while (cellItr.hasNext()) {
Cell eachCell = cellItr.next();
int cellType = eachCell.getCellType();
String label = "";
if (cellType == Cell.CELL_TYPE_STRING) {
label = eachCell.getStringCellValue();
} else if (cellType == Cell.CELL_TYPE_NUMERIC) {
int value = (int) eachCell.getNumericCellValue();
label = String.valueOf(value);
}
builder = builder.set(index, label);
index++;
if (index > 10) {
break;
}
}
}
}
}
workbook.close();
你的代码运行在我的设置罚款。它可能是'QuestionObjBuilder'导致的问题?尝试使用简单的(仅数字)'xlsx'文件来查看是否有问题。 – senderj 2015-03-31 09:07:10
您是否尝试过[读取关于遍历行和单元格的Apache POI文档](http://poi.apache.org/spreadsheet/quick-guide.html#Iterator)? – Gagravarr 2015-03-31 18:24:58
感谢您的意见,我在迭代单元格时犯了一个错误。上面的代码也适合我。 – bps 2015-04-01 07:01:14