使用apache poi,我制作了Excel数据阅读逻辑。但是,由于没有处理空值,所以输出数据不正确。我该怎么办?
Iterator<Row> rowIterator = sheet.iterator();
while (rowIterator.hasNext()) {
Row row = rowIterator.next();
Iterator<Cell> cellIterator = row.cellIterator();
while (cellIterator.hasNext()) {
Cell cell = cellIterator.next();
switch (cell.getCellType()) {
case NUMERIC:
System.out.print((int) cell.getNumericCellValue() + "\t");
break;
case STRING:
System.out.print(cell.getStringCellValue() + "\t");
break;
}
}
System.out.println();
2条答案
按热度按时间deyfvvtc1#
你需要检查单元格中的空值。
ws51t4hk2#
感谢@madan712(https://gist.github.com/madan712/5611191)
但如果总共有13个单元格,但第13个单元格不包含值,则
row.getLastCellNum()
仍然错过最后一个单元格我的解决方案是在一个全局字段中存储lastCellNum的值,基于表的头部,如
final int totalCol = headerRow.getLastCellNum()
,那么单元格循环将是for(int i=0; i<totalCol; i++)