2016-11-27 103 views
0

我正在编写一个项目,并将结果保存到Excel文件(.xlsx)。 我加入pom.xml以下依赖性:导入Apache POI单元库

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

<dependency> 
    <groupId>org.apache.poi</groupId> 
    <artifactId>poi</artifactId> 
    <version>3.16-beta1</version> 
</dependency> 

所有导入的库是否正常工作,如:

import org.apache.poi.ss.usermodel.Row; 
import org.apache.poi.ss.usermodel.Sheet; 
import org.apache.poi.ss.usermodel.Workbook; 
import org.apache.poi.xssf.usermodel.XSSFWorkbook; 

除了一个涉及到细胞。它必须有以下导入声明:

import org.apache.poi.ss.usermodel.Cell; 

但它不起作用。我不知道是什么问题。

回答

0

如果您下载this jar(这是您在pom.xml中指定的内容),您将看到类Cell在那里,所以问题必须出现在其他地方,例如, IDE缓存(对于IntelliJ尝试重新导入Maven项目,对于Eclipse - 不知道不幸)。

+0

我正在使用NetBeans – Kittani

+0

我不知道如何清除NetBeans依赖项缓存,但是您的pom.xml看起来不错,'Cell'类在jar中。 – borowis

+1

非常感谢您的帮助。问题已经解决了。我的代码中有另一个导入的类,并导致以前的错误。 – Kittani

1

根据this Apache POI FAQ entry - 不支持在版本之间混合使用POI JAR

你应该改变你的POM指的Apache POI的一切相同,最新的版本,如

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

<dependency> 
    <groupId>org.apache.poi</groupId> 
    <artifactId>poi</artifactId> 
    <version>3.16-beta1</version> 
</dependency> 

有了到位,你就可以访问Cell class没有问题