Java 使用ApachePOI

Java 使用ApachePOI,java,apache-poi,Java,Apache Poi,我试图使用ApachePOI来读取文档中的段落,但似乎总是缺少poi所需的另一个类。有没有一种方法可以包含所有需要的库,或者我只是继续运行它并加载下一个缺少的库 下面是一个例子,说明我是如何厌倦阅读.docx文件的 public void toDITA(InputStream file) throws IOException{ XWPFDocument docx = new XWPFDocument(file); Iterator docxIt = docx.getParagr

我试图使用ApachePOI来读取文档中的段落,但似乎总是缺少poi所需的另一个类。有没有一种方法可以包含所有需要的库,或者我只是继续运行它并加载下一个缺少的库

下面是一个例子,说明我是如何厌倦阅读.docx文件的

public void toDITA(InputStream file) throws IOException{
    XWPFDocument docx = new XWPFDocument(file);

    Iterator docxIt = docx.getParagraphsIterator();
    while(docxIt.hasNext()){
        System.out.println(docxIt.next().toString());
    }
}
更新:
这些错误只是类加载器问题,因为某些jar文件不存在。我只是下载了那些丢失的jar,并将它们包含在项目的库中,我还使用了Ant。我只是想知道是否有一个jar文件包含所有这些依赖项,或者在任何IDE(我使用NetBeans)中是否有自动下载并包含这些依赖项的功能,有点像PyCharm如何使用Python。

如果您使用的是maven,那么在
pom.xml

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

org.apache.poi

需要添加的最小jar文件数:

  • poi ooxml
  • poi
  • 公共编码
  • 公共集合4
  • poi ooxml模式
  • xmlbeans
  • 斯塔克斯api
  • 曲线萨皮

    • 您似乎正在使用word文档

      HWPF包含在poi-scratchpad-XXX.jar中, 而XWPF位于poi-ooxml-XXX.jar中。您需要确保在类路径中包含适当的JAR(及其依赖项!)以使用HWPF或XWPF

      请参考这个精彩的页面,官方文档

      对于Maven堆栈,我个人使用的是

      • poi
      • poi ooxml
      • xmlbeans
      • poi ooxml模式
      • ooxml模式

      您缺少一些依赖项。您看到的错误是什么?您是在使用maven还是在外部添加jar?我在NetBeans中使用Ant,所以我只在库中包含jar文件。@Christian,您需要下载jar并添加到库中,请确保在项目的类路径中使用该库。您应该参考最新版本,而不是一些过时的东西。这不需要Maven,是吗?@Christian有办法做到这一点。您可以自己将这些jar依赖项添加到类路径中,并自己维护jar(下载和添加),或者有一个基于maven的项目来处理您指定的依赖项(下载并将它们添加到类路径)。所以你只需要指定你想要什么,maven会处理好的。