无法在 Apache POI 中导入 XSSF

2022-08-31 07:57:23

我引用了Apache POI的3.7版本,当我这样做时,我得到了一个“无法解决”的错误:

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

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

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

任何想法??


答案 1

为了使OOXML正常工作,您需要POI-OOXML罐,它与POI罐分开包装。

从以下位置下载 POI-OOXML 罐子 -

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

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

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

您可能想做的是下载3.11二进制包,从中获取jar以及目录中的依赖项。将它们导入到您的项目中,您将被排序。poi-ooxmlooxml-lib

或者,如果您使用Maven,则可以在此处查看您想要依赖的人工说明列表,但它希望如下所示:

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

poi-ooxml maven 依赖项将自动为您拉入主 POI jar 和依赖项。如果要使用非电子表格格式,则还需要依赖工件,如 POI 组件页面上所述poi-scratchpad


推荐