我想讀取excel文件並將所有數據傳遞給數據庫。我找到了幾個代碼示例,但它們都需要外部罐子。我如何才能使用標準庫來讀取excel文件?如何閱讀與Java沒有外部罐子的excel文件
回答
如果你不想使用庫,那麼你將不得不下載Excel file format specs from MS並自己編寫一個Excel解析器(這對於一個開發者來說非常複雜並且需要10年以上的時間)。對於OpenXML格式規範,請參閱here和here。
因此我真的建議使用該庫...
嘗試Apache POI - 一個免費的Java庫,用於處理MS Office文檔..
您可以保存爲Excel文件*將該.cvs和拼寫「;」。然後,您可以逐行讀取文件並獲取每個令牌獲取的列。
我知道了,但是從excel到csv的轉換不支持utf-8 – Ofer 2012-02-02 07:20:28
微軟excel使用二進制的方式來保存它的數據,所以手動讀取excel文件可能是一件麻煩事。如果您可以將excel(xls)轉換爲逗號分隔值(csv)文件,那麼您只需讀取該文件並在逗號分隔輸入即可。
我知道,但是從excel到csv的轉換不支持utf-8 – Ofer 2012-02-02 07:21:30
這是一個難題。首先,它不像「添加第三方庫」那麼簡單。沒有現成的EXCEL閱讀庫不需要花費金錢,我知道那個工作的閱讀庫非常昂貴並且存在缺陷。
一種策略是創建一個Excel添加,讀取數據並通過OLE或剪貼板或TCP/IP端口將其傳輸到您的應用程序或將其保存到臨時文件。如果您查看OPeNDAP.org的ODC項目的源代碼,您可以找到一個Excel添加和TCP功能來執行此操作。
您可以嘗試引用OpenOffice中的開源代碼,但在我看來,由於各種原因,代碼不容易重構爲私有項目。
Microsoft擁有用於打開Excel文件並通過COM對象公開它們的組件和工具。
您還可以學習BIFF格式並編寫自己的解析器。你可能會想爲BIFF5編寫一個解析器,但是要事先警告,這是一個BIG項目,即使你只解析有限數量的數據類型。
也許我不明白第一段,但是有本網站上提及的至少2個可以讀取/寫入聲稱可以正常工作的Excel文件的開源示例。 – Tshepang 2012-03-26 11:57:46
- 1. 閱讀罐子裏的txt文件
- 2. 閱讀hadoop順序文件格式沒有hadoop罐子
- 3. Java-錯誤與Eclipse閱讀excel文件
- 4. 閱讀沒有庫的Excel文件
- 5. NoClassDefFoundError在沒有外部罐子的android
- 6. java使用外部罐子
- 7. 閱讀外部XML文件
- 8. 閱讀XML與閱讀CSV文件java
- 9. 用NetBeans閱讀Java中的excel文件
- 10. 閱讀java中的excel文件Apache Poi?
- 11. 的Java創建外部罐子
- 12. 讀取文件的罐子
- 13. 閱讀Excel文件
- 14. JBossAS [6.0.0.Final「如何閱讀從部署罐子資源]
- 15. 如何閱讀導出的Excel文件?
- 16. 從外部罐子
- 17. Android外部罐子
- 18. 我如何利用外部的罐子?
- 19. 如何閱讀asp.net以外的excel文件而不是OleDbConnection
- 20. 罐,外部性和外部文件IO
- 21. 閱讀Excel文件使用Java程序
- 22. 閱讀Java中幾列Excel(.xls)文件
- 23. 在Java中閱讀Excel文件(.xls)
- 24. 使用Java閱讀excel文件
- 25. 通過Java閱讀Excel文件.xlsx
- 26. 從Excel電子閱讀內容文件
- 27. 在linux中使用外部罐子運行java文件
- 28. 在春天添加外部罐子 - java
- 29. Django的 - 閱讀Excel文件
- 30. Java:文件閱讀與類中。爲什麼沒有輸出?
我不想將庫添加到我的項目中。 – Ofer 2012-02-02 07:20:57
@OferTaviv如果你不想添加一個庫,那麼你將不得不從MS下載Excel文件格式規範,並自己編寫一個Excel解析器(這非常複雜,一個開發人員需要10年以上的時間)。 – Yahia 2012-02-02 07:22:28
對不起,但這只是一個愚蠢的想法。要閱讀Excel文件格式,您必須編寫大量複雜的代碼。如果你真的不想使用外部庫,你絕對應該考慮使用不同的格式,如CSV。試圖閱讀XLS而不使用任何現有的庫,就像開始通過購買橡膠種植園來製造汽車一樣,以便能夠生產自己的輪胎... – Axel 2012-02-02 09:21:16