我正在使用Apache POI来读取xlsx文件,它运行良好。当找到行为null时,我有问题,我怎么能处理它?我的文件只包含50行,但它显示1000行,其余行找到null。
try {
FileInputStream file = new FileInputStream(new File("D://productData.xlsx"));
Workbook workbook = WorkbookFactory.create(file);
Sheet sheet = workbook.getSheetAt(0);
Iterator<Row> rowIterator = sheet.iterator();
CountryCode countryCode = userDao.getCode(sheet.getRow(1).getCell(4).toString());
while (rowIterator.hasNext()) {
Row row = rowIterator.next();
if (row.getRowNum() == 0) {
continue;
} else if (row.getRowNum() == 1) {
//some operation
} else if (row.getRowNum() == 2) {
continue;
} else {
ExcelData excelData = new ExcelData();
try {
for (int i = 0; i <= 6; i++) {
row.getCell(i).setCellType(Cell.CELL_TYPE_STRING);
}
//some operation
} catch (Exception e) {
e.printStackTrace();
}
}
}
file.close();
response.setResponse(data);
} catch (Exception e) {
e.printStackTrace();
}
如何从excel读取空行以及如何终止 excel工作表中row为null时的迭代器。 感谢
答案 0 :(得分:2)
如果您获取一行并返回null,则表示该行的文件中没有存储数据 - 它完全空白。
默认情况下,POI会为您提供文件中的内容。使用Cells,您可以设置MissingCellPolicy来控制丢失和空白单元格的处理方式。在Apache POI文档中有一些使用它的例子。对于行,它们是否存在,因此您需要在获取行时检查空值。