在Android中从Excel导入数据需要帮助?

我已经使用JExcel API从Excel导入数据,对于使用JExcel,我写了下面的程序:

 public class ReadExcel { private String inputFile; public void setInputFile(String inputFile) { this.inputFile = inputFile; } public void read() throws IOException { File inputWorkbook = new File(inputFile); File parent_dir = inputWorkbook.getParentFile(); Workbook w; try { System.out.println("Parent dir"+parent_dir); if(parent_dir.exists() == true){ System.out.println("Pardent_dir failed"+"1"); } else { System.out.println("Pardent _ dir not failed"+"2"); } if(inputWorkbook.exists()== true) { System.out.println("File Exists"); } else { System.out.println("File NOt Exists"); System.out.println("Path "+inputWorkbook.getAbsoluteFile()); } w = Workbook.getWorkbook(inputWorkbook); // Get the first sheet Sheet sheet = w.getSheet(0); // Loop over first 10 column and lines for (int j = 0; j < sheet.getColumns(); j++) { for (int i = 0; i < sheet.getRows(); i++) { Cell cell = sheet.getCell(j, i); CellType type = cell.getType(); if (cell.getType() == CellType.LABEL) { System.out.println("I got a label " + cell.getContents()); } if (cell.getType() == CellType.NUMBER) { System.out.println("I got a number " + cell.getContents()); } } } } catch (BiffException e) { e.printStackTrace(); } } public static void main(String[] args) throws IOException { ReadExcel test = new ReadExcel(); test.setInputFile("c:/temp/Book2.xls"); test.read(); } } 

它工作正常,但是当我在Android中使用它,我有以下exception

03-18 16:33:31.225:INFO / System.out(8693):父级dirc:/ temp 03-18 16:33:31.225:INFO / System.out(8693):Pardent _ dir not failed2 03-18 16 :33:31.235:INFO / System.out(8693):File NOt Exists 03-18 16:33:31.235:INFO / System.out(8693):Path /c:/temp/Book2.xls 03-18 16: 33:31.245:WARN / System.err(8693):java.io.FileNotFoundException:/c:/temp/Book2.xls 03-18 16:33:31.255:WARN / System.err(8693):at org.apache .harmony.luni.platform.OSFileSystem.open(OSFileSystem.java:244)03-18 16:33:31.255:WARN / System.err(8693):在java.io.FileInputStream。(FileInputStream.java:77)03 -18 16:33:31.255:WARN / System.err(8693):at jxl.Workbook.getWorkbook(Workbook.java:213)03-18 16:33:31.255:WARN / System.err(8693):at jxl .Workbook.getWorkbook(Workbook.java:198)03-18 16:33:31.255:WARN / System.err(8693):at com.san.test.MyActivity.read(MyActivity.java:93)03-18 16 :33:31.255:WARN / System.err(8693):at com.san.test.MyActivity.displayAlert(MyActivity.java:62)

 test.setInputFile("c:/temp/Book2.xls"); 

Android是一个基于Linux的系统,所以在那里没有驱动器。 在android中使用“c:/”没有select。 请阅读关于数据存储的文章。 您可以使用外部存储来放置文件并从那里读取。

错误日志说, FileNotFoundException 。 所以可能你的path在这里不见了。 你可以把你的excel文件放在/mnt/sdcard/目录下,然后你可以这样使用:

 test.setInputFile("/mnt/sdcard/Book2.xls"); 

我已经解决了我的问题,将Book2.xls文件放在原始文件夹下,然后从该文件夹中读取该文件。

谢谢