2013-06-03 51 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