2015-02-08 68 views
0

我正試圖從類似於Excel文檔的文件中找到讀取數據的最佳方式。它不一定需要成爲一個真正的Excel文檔,只要是允許您以網格格式輸入數據的任何文件即可。 東西在那裏我將能夠做同樣的操作,以這樣的:Java:從Excel風格的文檔中讀取最簡單的方法?

String val = file.readString(column,row); 
float val2 = file.readFloat(column,row); 

我很抱歉,我通常會嘗試之前,我在這裏張貼問題做更多的研究,但我有一個很難找到很多信息。我看到的很多是讀取excel文件的第三方庫。我真的希望如果可能,我可以避免下載庫,並希望使用內置的。

所以我想我的問題簡而言之如下: 什麼是最合適的文件格式? 從該文件讀取數據的最佳方式是什麼?

+0

Apache POI將讀取實際的Excel文檔。 – monkjack 2015-02-08 17:50:44

回答

1

選項1

儲存在CSV數據,並與任何類型的閱讀器(例如BufferedReader類)閱讀。如果您想使用Excel/LibreOffice輸入數據,這可能是最簡單和最快的解決方案。

請查看thesethreads的答案爲varioussolutions

String csvfile = path; 
    BufferedReader br = null; 
    String line = ""; 
    String cvsSplitby = ";"; 

    try { 

     br = new BufferedReader(new FileReader(csvfile)); 

     while ((line = br.readLine()) != null) { 
      String[] i = line.split(cvsSplitby); 

      // do stuff 
     } 


    } catch (all kind of exceptions e) { 
     e.printStackTrace(); 
    } finally { 
     if (br != null) { 
      try { 
       br.close(); 
      } catch (IOException e) { 
       e.printStackTrace(); 
      } 
     } 
    } 

希望我沒有錯過任何重要的東西。

選項2

使用POI Apache

選項3

我已經取得了一些不錯的經驗與JXL,但我明白,你不希望有過多的外部庫。 (我剛剛看到它沒有在更新中,考慮其他選項!)

+0

有趣的是,我想我會嘗試CSV方法。這似乎與我想要的非常接近。謝謝! – 2015-02-08 18:08:26

+0

不客氣。你能接受答案嗎? – Klaster 2015-02-08 18:46:49

+0

通常最好正確地複製代碼。 – 2015-02-08 22:00:41

1

我想到的第一件事是CSV。 CSV文件只是文件擴展名爲.csv的普通文本文件。數據以此格式存儲:

cell,anothercell,athirdcell 
anotherrow,anothercellonthenewrow,thirdcellofsecondrow 

有關更多詳細信息,請閱讀CSV規格here

相關問題