使用Java在Excel工作表中打印“空白单元格”相邻单元格值

时间:2019-07-17 11:58:14

标签: java apache-poi

我有一个Excel工作表,当我在Java中看到空单元格时需要打印相邻的单元格值。

我已经编写了用于在Excel工作表中打印值的代码,我也找到了空单元格,但是在看到空单元格时我不怎么打印相邻单元格的值

public class empty {

    public static void main(String args[]) throws Exception {
        InputStream ExcelFileToRead = new FileInputStream("C:\\Users\\GOMATHI\\Desktop\\data1.xls");

        HSSFWorkbook wb = new HSSFWorkbook(ExcelFileToRead);
        HSSFSheet sheet = wb.getSheetAt(0);
        HSSFRow row;
        HSSFCell cell;

        Iterator rows = sheet.rowIterator();

        while (rows.hasNext()) {
            row = (HSSFRow) rows.next();
            Iterator cells = row.cellIterator();

            while (cells.hasNext()) {
                cell = (HSSFCell) cells.next();
                if (cell == null || cell.getCellType() == HSSFCell.CELL_TYPE_BLANK) {
                    // logic goes here. I don't know.

                    System.out.println(no);

                }
                System.out.println(cell.toString());
            }

        }
        // System.out.println();
    }
}


Input: Excel File
Id     Value
01      200
02      201
03      203
04       
05      205

输出: “第4个单元格的值”为空,因此我需要打印其对应的ID。 04

1 个答案:

答案 0 :(得分:0)

首先,我认为您的测试if (cell == null || cell.getCellType() == HSSFCell.CELL_TYPE_BLANK)几乎没有用,因为cell永远不应为null。 假设如此,您可以使用row.getCell(cell.getColumnIndex() - 1)

获取上一列的单元格