2012-12-28 48 views
19

在我的應用程序中,我使用Apache POI 3.8進行XLS文件處理。Apache POI 3.9:找不到WorkbookFactory方法

現在我想遷移到Apache POI 3.9最新和穩定版本。我在應用程序中添加了JAR文件poi-3.9-20121203.jar,並刪除了與POI 3.8相關的JAR。

但似乎在3.9版本中,WorkbookFactory類已被刪除。

那麼如何在Apache POI 3.9中創建WorkbookFactoryWorkbook

我提取了JAR並進行了檢查,沒有類像WorkbookFactory

任何人都可以告訴我如何創建一個POI 3.9的新工作簿?

回答

40

你錯過了幾個JAR。看看POI Components Page,你會發現你需要POI-3.9 jar,POI-OOXML-3.9 jar以及它們各自的依賴關係。

如果你想使用任何其他格式(例如doc,docx,ppt,pptx),你還需要POI-Scratchpad-3.9 jar。在使用OOXML文件格式(例如.xlsx)時,如組件頁面所示,您需要POI-OOXML_Schemas-3.9 jar或更大的完整OOXML-Schemas-1.1 jar。

而且,由於這個問題有人問,已經出現了Apache的POI的兩個新版本,與lots of bugs fixed and new features added,所以它採用了最新的版本(3.11寫作的),而不是3.9的價值!

+4

感謝您的答案Gagravarr。是的,我錯過了一個JAR文件。那是POI-OOXML-3.9罐子。添加該JAR後,它工作正常。 –

+2

如果您使用的是Maven,那麼下面應該得到你所需要的 org.apache.poi POI 3.11 org.apache.poi POI,OOXML 3.11

+0

對於那些正在使用g sbt,只需在build.sbt中添加以下行'libraryDependencies + =「org.apache.poi」%「poi-ooxml」%「3.12' – gkc

1

我會感到很驚訝,他們沒有在list of changes提它做了這樣重大更改...

事實上,我可以看到在JavaDoc的WorkbookFactory,我想是高達最新與最新版本。

也許你可以顯示一些簡單的代碼,在3.8中工作,不再在3.9中工作,以及你得到的錯誤信息。問題可能不是你的想法...

+1

謝謝你的答案PhiLho。在這裏,我錯過了查看需要依賴的JAR文件。我們需要添加PPI 3.9的POI-OOXML-3.9 jar文件。 jar文件。現在它工作正常。 –

相關問題