如何使用java检查xlsx中的行是否为空

时间:2016-09-01 10:34:27

标签: java apache-poi

我正在使用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时的迭代器。   感谢

1 个答案:

答案 0 :(得分:2)

如果您获取一行并返回null,则表示该行的文件中没有存储数据 - 它完全空白。

默认情况下,POI会为您提供文件中的内容。使用Cells,您可以设置MissingCellPolicy来控制丢失和空白单元格的处理方式。在Apache POI文档中有一些使用它的例子。对于行,它们是否存在,因此您需要在获取行时检查空值。