2011-11-20 28 views

回答

31

不,不必包括所有POI的依赖关系。 Maven的传递依赖机制会照顾到这一点。由于noted你只需要表示依赖于适当的兴趣点工件。例如:

<dependency> 
    <groupId>org.apache.poi</groupId> 
    <artifactId>poi-ooxml</artifactId> 
    <version>3.8-beta4</version> 
</dependency> 
5

一个Excel的作家,你可能需要以下条件:

  <dependency> 
       <groupId>org.apache.poi</groupId> 
       <artifactId>poi</artifactId> 
       <version>3.10-FINAL</version> 
      </dependency> 


     <dependency> 
      <groupId>org.apache.poi</groupId> 
      <artifactId>poi-ooxml</artifactId> 
      <version>${apache.poi.version}</version> 
     </dependency> 
-2

OOXML对付的的.xlsx文件和OOXML是指XML,因此我们将需要转介下面在pom.xml 3个dependedncies为

<dependency> 
    <groupId>org.apache.poi</groupId> 
    <artifactId>poi</artifactId> 
    <version>3.9</version> 
</dependency> 
<dependency> 
    <groupId>xml-apis</groupId> 
    <artifactId>xml-apis</artifactId> 
    <version>1.4.01</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.poi</groupId> 
    <artifactId>poi-ooxml</artifactId> 
    <version>3.9</version> 
    <exclusions> 
    <exclusion> 
     <artifactId>xml-apis</artifactId> 
     <groupId>xml-apis</groupId> 
    </exclusion>  
    </exclusions> 
</dependency> 
0

如果你不使用Maven,那么你就需要**

  • POI
  • POI-OOXML
  • 的xmlbeans
  • 的dom4j
  • POI-OOXML-模式
  • STAX的API
  • ooxml-schemas
+0

的STAX的API罐子,罐子DOM4J不需要在Apache POI(3的最新版本。11),所以这并不总是正确的 – Gagravarr

1

我用下面的依赖关系。如果您使用硒,那么最好使用下面的全部。 否则你会看到一些错误,然后进行研究并添加一些更多的依赖关系。

<dependency> 
       <groupId>org.apache.poi</groupId> 
       <artifactId>poi</artifactId> 
       <version>3.9</version> 
      </dependency> 
      <dependency> 
       <groupId>org.apache.poi</groupId> 
       <artifactId>poi-ooxml</artifactId> 
       <version>3.9</version> 
      </dependency> 
      <dependency> 
       <groupId>org.apache.poi</groupId> 
       <artifactId>poi-ooxml-schemas</artifactId> 
       <version>3.9</version> 
      </dependency> 
      <dependency> 
       <groupId>org.apache.poi</groupId> 
       <artifactId>poi-scratchpad</artifactId> 
       <version>3.9</version> 
      </dependency> 
      <dependency> 
       <groupId>org.apache.poi</groupId> 
       <artifactId>ooxml-schemas</artifactId> 
       <version>1.1</version> 
      </dependency> 

      <dependency> 
       <groupId>org.apache.poi</groupId> 
       <artifactId>openxml4j</artifactId> 
       <version>1.0-beta</version> 
      </dependency> 
+1

Apache POI 3.9相当老,为什么你建议人们使用它?而且'openxml4j'依赖不应该被需要,这几天 – Gagravarr

+0

不能让eclipse中的maven识别任何高于3.9的版本。通常它会完成工作。另外,为了解决库的所有依赖项而添加6-7依赖关系是很荒谬的 – Leo

0
<dependency> 
     <groupId>org.apache.poi</groupId> 
     <artifactId>poi-ooxml</artifactId> 
     <version>3.10-FINAL</version> 
    </dependency> 
+0

为什么你建议使用旧版本?当然,最新的稳定版本3.11会更好吗? – Gagravarr

+0

谢谢!你是对的! –

0

添加这种依赖与Apache POI

<dependency> 
    <groupId>org.apache.poi</groupId> 
    <artifactId>poi</artifactId> 
    <version>3.16-beta1</version> 
</dependency> 
1

以下为我工作 :

<!-- https://mvnrepository.com/artifact/org.apache.poi/poi --> 
    <dependency> 
     <groupId>org.apache.poi</groupId> 
     <artifactId>poi</artifactId> 
     <version>3.16</version> 
    </dependency> 
    <!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml --> 
    <dependency> 
     <groupId>org.apache.poi</groupId> 
     <artifactId>poi-ooxml</artifactId> 
     <version>3.16</version> 
    </dependency> 
+0

应该使用相同版本的“poi”和“poi-ooxml” –