问题

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

import org.apache.poi.xssf.usermodel.XSSFWorkbook;

引用POIDO的其他import语句请注意我的错误,例如:

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

有任何想法吗??


#1 热门回答(166 赞)

要使OOXML正常工作,你需要POI-OOXML jar,它与POI jar分开包装。

从以下位置下载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>

#2 热门回答(28 赞)

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

你可以在POI websitehere上获取所有组件及其依赖项的列表。

你可能想要做的是下载3.11 binary package,从中获取poi-ooxmljar,以及ooxml-lib目录中的依赖项。将这些导入到你的项目中,你将被排序。

或者,如果你使用Maven,你可以使用see here获取你想要依赖的artificat列表,但它希望是这样的:

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

poi-ooxml maven依赖项将自动为你提供主要的POI jar和依赖项。如果你想使用非电子表格格式,你也想要依赖于3886731574的工件,详见POI components page


#3 热门回答(7 赞)

如果你使用Maven:
poi => artifactId中的poi-ooxml

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

原文链接