2011-11-20 30 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」 –