无法在Apache POI中导入XSSF

Mar*_*son 113 java apache-poi

我正在引用Apache POI的3.7版本,当我这样做时,我收到了"无法解决"的错误:

import org.apache.poi.xssf.usermodel.XSSFWorkbook;
Run Code Online (Sandbox Code Playgroud)

引用POI的其他import语句不会给我错误,例如:

import org.apache.poi.ss.usermodel.*;
Run Code Online (Sandbox Code Playgroud)

有任何想法吗??

Pus*_*kar 185

要使OOXML正常工作,您需要POI-OOXML罐子,它与POI罐子分开包装.

从以下位置下载POI-OOXML jar -

http://repo1.maven.org/maven2/org/apache/poi/poi-ooxml/3.11/poi-ooxml-3.11.jar

对于Maven2添加以下依赖项 -

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>3.11</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)


Gag*_*arr 30

OOXML文件格式的类(例如.xlsx的XSSF)位于不同的Jar文件中.您需要在项目中包含poi-ooxml jar以及它的依赖项

您可以在此处获取POI网站上所有组件及其依赖项的列表.

你可能想要做的是下载3.11二进制包,poi-ooxml从中获取jar,以及ooxml-lib目录中的依赖项.将这些导入您的项目,您将被排序.

或者,如果您使用Maven,您可以在此处查看您想要依赖的artificat列表,但它希望是这样的:

<dependency>
   <groupId>org.apache.poi</groupId>
   <artifactId>poi-ooxml</artifactId>
   <version>3.11</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

poi-ooxml maven依赖项会自动为您提供主要的POI jar和依赖项.如果您想使用非电子表格格式,您也希望依赖于poi-scratchpad工件,详见POI组件页面


sgr*_*lon 7

如果你使用Maven:

poi => artifactId中的poi-ooxml

    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml</artifactId>
        <version>3.12</version>
    </dependency>
Run Code Online (Sandbox Code Playgroud)


小智 7

我找到了解决方案

您需要牢记一些要点。

  1. 有两种不同的依赖项,一种是 ( poi ),另一种依赖项是 ( poi-ooxml ),但请确保您必须在代码中使用 poi-ooxml 依赖项。

  2. 只需在 pom.xml 中添加以下依赖项并保存即可。

<dependency>
  <groupId>org.apache.poi</groupId>
  <artifactId>poi-ooxml</artifactId>
  <version>3.9</version>
  </dependency>
Run Code Online (Sandbox Code Playgroud)

3.保存 pom.xml 后,您需要尝试一些小事情,使用 (.) 运算符将尝试导入/获取它,最后不会看到任何错误,因为现在它已将该东西导入到您的包中。

示例代码以更好地理解!

package ReadFile;// package   
import org.apache.poi.xssf.usermodel.XSSFWorkbook;  // automatically added to your code after importing
public class Test          
{  
public static void Hello() // Method  
{  
XSSFWorkbook workbook = new XSSFWorkbook();   
}  
}
Run Code Online (Sandbox Code Playgroud)

我尽力为您提供解决方案,如果您在这里遇到任何问题评论,我会尽力
解决。

继续学习伙计们!


小智 6

问题:在导入显示eclipse错误的"org.apache.poi.xssf.usermodel.XSSFWorkbook"类时.

解决方案:使用此maven依赖项来解决此问题:

<dependency>
   <groupId>org.apache.poi</groupId>
   <artifactId>poi-ooxml</artifactId>
   <version>3.15</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

-Hari Krishna Neela


小智 5

我在应用程序“ build.gradle”中添加了以下内容

implementation 'org.apache.poi:poi:4.0.0'
implementation 'org.apache.poi:poi-ooxml:4.0.0'
Run Code Online (Sandbox Code Playgroud)