2010-11-03 53 views
4

什麼我的應用需求是這是在Java中讀取大型excel文件的最佳API嗎?

1)閱讀以.xls或.xlsx格式

2大型Excel文件),數據庫與前一列插入每列作爲行作爲下一

意思是如果我有5列和30,000行,那麼我想插入1列作爲父母,
第二列是第一列的孩子,第三列是第二等孩子......樹結構

現在任何人都可以建議我最好的API來做到這一點在Java語言。

一些谷歌搜索後,我發現有很多API的現在,但是這是最好的是

參考see

+0

我有**完全相同的問題。到目前爲止,沒有解決方案。 POI希望將整個XLSX加載到內存中。如果您只是使用XLS文件,POT-3.8b5將會在幾秒鐘內加載和處理文件!我有一個209MB的XLS文件,我的應用程序處理了整個事情(8個標籤中有500,000行),並在大約2分鐘內插入到MySQL中。 – Piko 2012-02-10 20:03:01

回答

4

嘗試POI的,我不知道,如果他們讀的.xlsx,也許他們在做最新版本。

+1

是的,我發現新版本的POI支持.xlsx(POI 3.6) – Romani 2010-11-03 11:13:26

-1

嘗試POI - 它將讀取文件(XLS,XLSX),但數據庫操作也需要其他庫和基本JDBC。

+0

雖然POI可以讀取XLS和XLSX文件,但在後一種情況下它是一個內存管理器。 SXSSFWorkBook將**整個** XSLX文件加載到內存中。一個38MB的XLSX文件需要遠遠超過-Xmx2048x! [Redonculous](http://www.urbandictionary.com/define.php?term=redonculous)! – Piko 2012-02-10 19:59:31

5

過去我已經使用了POIJExcel,並堅持使用JExcel,因爲它更易於使用,並具有更好的文檔。我還發現POI在向電子表格寫入數據時使用了更多的內存。

我會推薦JExcel,如果遇到任何問題,我很樂意提供幫助。

+0

JExcel的+1 ... – 2010-11-03 09:31:13

+0

我對POI更加熟悉,但是我聽到了有關jExcel的優點,例如更好的文檔和可伸縮性。 – 2010-11-03 09:38:48

+0

是JExcel支持.xlsx文件格式? – Romani 2010-11-03 10:19:26

0

而且你無法導出到.csv文件?

這可能是一個更快的解決方案,然後解析整個.xls/.xlsx文件。另一點是你比只需要處理一種文件類型/格式。

+0

我不認爲JExcel正確處理.xlsx。不確定POI。我同意你的觀點 - 導出.csv聽起來更好。 – duffymo 2010-11-03 09:38:00

+0

如果重點是某些自動化,那麼一些非技術業務人員只是想在類似的Web界面的上傳框中轉儲一個excel文件,就不那麼方便了。導出爲CSV是一個手動步驟,或者需要一些VBA的東西 - 如果運行它的系統不是Windows系統,也不可用。 – 2010-11-03 09:44:58

相關問題