0

我必须检查两个 xlsx 文件的字符串是否相等必须返回名称,但它总是返回 null,有人可以帮助我吗?

try
    {
        FileInputStream fisCod = new FileInputStream(pathC);

        XSSFWorkbook wb = new XSSFWorkbook (fisCod);
        XSSFSheet sheet = wb.getSheetAt(0);
        int lastRow = sheet.getLastRowNum();

        for(int i=0; i<lastRow; i++)
        {      
            Row row = sheet.getRow(i);
            Cell cell = row.getCell(jobCod);  

            String tmp = cell.getRichStringCellValue().getString().toLowerCase();

            if (tmp.equals(jobName)) //jobName is a String
            {
                return tmp;
            }
            else
            {
                return null;
            }
        }
        fisCod.close();
    }
    catch (IOException e)
    {
        System.out.println(e.getMessage());
    }
4

1 回答 1

1

上面代码中的第一个不匹配将导致null返回而不检查后续行值。这很可能是您所描述的场景。

当尝试匹配失败时,在返回之前检查所有单元格值。null

for (int i = 0; i < lastRow; i++) {
    Row row = sheet.getRow(i);
    Cell cell = row.getCell(jobCod);

    String tmp = cell.getRichStringCellValue().getString().toLowerCase();

    if (tmp.equals(jobName)) {
        return tmp;
    }
}

return null; // now return null
于 2013-07-25T11:44:19.273 回答