2013-06-03 63 views
18

我已經搜索了stackoverflow,但是我沒有找到明確的答案。我怎樣才能從我的Android應用程序的XLS文件的特定行和列中讀取數據?我怎樣才能讀取XLS文件?我不想將它轉換爲CSV,因爲我在嘗試轉換它時遇到錯誤。如何從XLS(Excel)文件讀取數據[Java,Android]

也許我可以使用這個http://www.andykhan.com/jexcelapi/tutorial.html#reading,但我甚至不知道如何將它導入到我的項目中。請幫忙。

回答

16

嗨,你只需要包括一個外部jxl jar,你可以通過相同的教程,這將有助於你理解閱讀excel文件的過程..爲了您的參考我粘貼一些ref。代碼讀取第一張excel並創建結果集。

public List<String> read(String key) throws IOException { 
    List<String> resultSet = new ArrayList<String>(); 

    File inputWorkbook = new File(inputFile); 
    if(inputWorkbook.exists()){ 
     Workbook w; 
     try { 
      w = Workbook.getWorkbook(inputWorkbook); 
      // Get the first sheet 
      Sheet sheet = w.getSheet(0); 
      // Loop over column and lines 
      for (int j = 0; j < sheet.getRows(); j++) { 
       Cell cell = sheet.getCell(0, j); 
       if(cell.getContents().equalsIgnoreCase(key)){ 
        for (int i = 0; i < sheet.getColumns(); i++) { 
         Cell cel = sheet.getCell(i, j); 
         resultSet.add(cel.getContents()); 
        } 
       } 
       continue; 
      } 
     } catch (BiffException e) { 
      e.printStackTrace(); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 
    else 
    { 
     resultSet.add("File not found..!"); 
    } 
    if(resultSet.size()==0){ 
     resultSet.add("Data not found..!"); 
    } 
    return resultSet; 
} 
+0

問題是我已經導入該文件,但我得到一個錯誤,類源未找到......我不明白爲什麼問題是投下來的。 – Marek

+1

你能分享你正在得到的確切的錯誤嗎?也只是一個建議,無論何時提出問題,都非常精確地提及您的問題(如果您認爲需要,請提供錯誤和/或代碼)。因爲所有新問題都會由Stackoverflow上的其他朋友審查,如果有人發現您的問題不正確/不完整,他們會投票。但讓我們不必擔心,並嘗試解決您的問題,因爲那更重要。 –

+0

我只是將它複製到LIBS文件夾中,它正在工作(以前我已經導入它,它不工作)。我需要打開文件夾B中的文件A(B位於包主文件夾中)。這是行不通的:workBook = Workbook.getWorkbook(new File(「/ B/A.xls」));任何想法? – Marek