已添加Apache POI依赖仍遇XSSFWorkbook无法解析类型错误求助
解决XSSFWorkbook cannot be resolved to a type错误
问题根源
你遇到的错误核心原因有三点:
- 缺少处理.xlsx格式的
poi-ooxml依赖,XSSF相关类属于该依赖包 - 代码中未导入
XSSFWorkbook和XSSFSheet类 - 当前配置的Java 1.7版本与Apache POI 5.2.3不兼容(POI 5.x要求Java 8及以上)
解决方案步骤
1. 补充POI OOXML依赖
在pom.xml的<dependencies>块中添加poi-ooxml依赖:
<!-- 处理xlsx格式的POI依赖 --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>5.2.3</version> </dependency>
2. 升级Java版本
修改pom.xml中的Java版本配置为8或更高(适配POI 5.x):
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties>
3. 添加必要的导入语句并修正代码
在你的Java代码中补充XSSF相关类的导入,同时修正异常处理和资源关闭逻辑:
package files; import java.io.FileInputStream; import java.io.IOException; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class ReadingExcel { static WebDriver driver; public void ReadingDataFromExcel() throws IOException { driver= new ChromeDriver(); driver.manage().window().maximize(); FileInputStream file= new FileInputStream("E:\\Dev\\Eclipse-workspace\\Data.xlsx"); XSSFWorkbook workbook= new XSSFWorkbook(file); XSSFSheet sheet= workbook.getSheet("sheet1"); // 操作完成后关闭资源 workbook.close(); file.close(); driver.quit(); } public static void main(String[] args) throws IOException { new ReadingExcel().ReadingDataFromExcel(); } }
4. 刷新Maven依赖
在Eclipse中右键项目 → Maven → Update Project,确保依赖下载完成并生效。
内容的提问来源于stack exchange,提问作者Abhay
相关产品推荐
相关产品推荐

