java - Apache POI : CellType compare does not work as expected

标签 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 也是一样的。

最佳答案

CellType 按预期工作,但此行末尾有令人讨厌的分号(拼写错误):

if (ct == CellType.STRING);

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

关于java - Apache POI : CellType compare does not work as expected,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52364615/

相关文章:

java - 如何以编程方式比较两个基于视觉差异的 PDF?

java - Eclipse:作为项目构建器的 Java 应用程序

java - 从word apache.poi库中提取表

excel - Groovy/Grails文档下载

java - 我不能在同一行 : private final. ..() 上同时使用两个关键字吗?

java - Spring Data JPA @Table 注释工作

java - ArrayList 未在 onChildAdded 函数内更新

java - 不知道我的代码有什么问题(Apache POI)

java - 使用 POI HSSF API 从 excel 单元格中读取日期值

android - 有没有在Android上阅读MS Office PPT的代码?