Java 为什么我不能使用我的代码从excel中获取值到列表中?

Java 为什么我不能使用我的代码从excel中获取值到列表中?,java,excel,apache-poi,Java,Excel,Apache Poi,我想将相关的Excel单元格收集到一个列表中,以便进行序列比较。然而,我无法使用下面的代码将这些具有条件的单元格值放入列表中,控制台中未按预期打印任何内容 我尝试使用startsWith和其他条件语法,但我不确定这是否是问题所在,或者我之前做了错误的事情 HSSFSheet dispcolsheet = workbook2.getSheet(0); Iterator<Row> colRowItr = dispcolsheet.rowIterator(); Li

我想将相关的Excel单元格收集到一个列表中,以便进行序列比较。然而,我无法使用下面的代码将这些具有条件的单元格值放入列表中,控制台中未按预期打印任何内容

我尝试使用startsWith和其他条件语法,但我不确定这是否是问题所在,或者我之前做了错误的事情

    HSSFSheet dispcolsheet = workbook2.getSheet(0);
    Iterator<Row> colRowItr = dispcolsheet.rowIterator();
    List<String> colstatuslist = new ArrayList<String>();
    while (colRowItr.hasNext()){
        Row row = colRowItr.next();
        Cell colname = row.getCell(0);
        if ("ABC_".contains(colname.getStringCellValue())) {
            colstatuslist.add(row.getCell(1).getStringCellValue());
            System.out.println(colstatuslist);
        }
    }
我希望按顺序存储B列中的TRUE-FALSE-TRUE,以便将它们用于比较,比如get0将是ABC_1的状态为TRUE,get1将是ABC_2的状态为FALSE等等

谢谢。

您正在做if检查,方向/方向不对

您正在检查字符串ABC_u是否包含或具有单元格值

ABC_u是否包含ABC_u1-否

你应该把它倒过来

colname.getStringCellValue().contains("ABC_") 

or 
colname.getStringCellValue().startsWith("ABC_")
ABC_1是否包含/startsWith ABC_-Yes

我发现最好用于字符串比较。你可以

StringUtils.contains(colname.getStringCellValue(), "ABC_") 
StringUtils.containsIgnoreCase(colname.getStringCellValue(), "ABC_") 
很简单

colname.getStringCellValue().contains("ABC_") 

or 
colname.getStringCellValue().startsWith("ABC_")
StringUtils.contains(colname.getStringCellValue(), "ABC_") 
StringUtils.containsIgnoreCase(colname.getStringCellValue(), "ABC_")