Apache POI:CellType比较不能按预期方式工作

时间:2018-09-17 09:29:10

标签: java apache-poi

我正在使用Apache POI 3.17。

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>3.17</version>
</dependency>

我尝试仅处理字符串单元-但它不起作用。

不确定这是错误还是我使用的错误。

    ...
    Cell c = row.getCell (col);
    if (c != null)
    {
        CellType ct = c.getCellTypeEnum ();
        System.out.println (ct + "  vs  " + CellType.STRING);

        if (ct == CellType.STRING);
        {
            System.out.println ("  equal");
        }
    }
    ...

输出:

STRING  vs  STRING
  equal
BLANK  vs  STRING
  equal
STRING  vs  STRING
  equal
FORMULA  vs  STRING
  equal

为什么什么是“相等”?

即使我将==更改为equals或compareTo也是如此。

1 个答案:

答案 0 :(得分:2)

CellType可以正常工作,但是在此行的结尾处有讨厌的分号(错字):

if (ct == CellType.STRING);

因此,无论条件如何评估,始终执行该块。