2015-11-03 100 views
0

我有一些代码谁在netbeans工作读取.xlsx文件。我试图在Android Studio中实现它,但没有成功到达我的.xlsx文件:我已经将路径“C \ etc \ etc \”并且不起作用。.xlsx文件在android工作室

我将文件复制到文件夹drawable,并设置下列变量,但它仍然没有奏效:

String filename = "renk hex.xlsx"; 

,我应该把这个.xlsx文件,以达到呢?

我没有错误的代码,我的应用程序genymotion停止工作,当我调用负责阅读此文件的类。

这里是我的代码:

 String filename = "renk hex.xlsx"; 
    List sheetData = new ArrayList();   // dataItem 


    FileInputStream fis = null; 
    try { 
     fis = new FileInputStream(filename); 
     XSSFWorkbook workbook = new XSSFWorkbook(fis); 
     XSSFSheet sheet = workbook.getSheetAt(0); 
     Iterator rows = sheet.rowIterator(); 
     while (rows.hasNext()) { 
      XSSFRow row = (XSSFRow) rows.next(); 
      Iterator cells = row.cellIterator(); 
      List data = new ArrayList(); 
      while (cells.hasNext()) { 
       XSSFCell cell = (XSSFCell) cells.next(); 
       data.add(cell); 
      } 

      sheetData.add(data); 
     } 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } finally { 
     if (fis != null) { 
      try { 
       fis.close(); 
      } catch (IOException e) { 
       e.printStackTrace(); 
      } 
     } 
    } 

日志:

   Process: hesh.ballc, PID: 3774 
java.lang.IllegalStateException: Could not execute method of the activity 
     at android.view.View$1.onClick(View.java:3823) 
     at android.view.View.performClick(View.java:4438) 
     at android.view.View$PerformClick.run(View.java:18422) 
     at android.os.Handler.handleCallback(Handler.java:733) 
     at android.os.Handler.dispatchMessage(Handler.java:95) 
     at android.os.Looper.loop(Looper.java:136) 
     at android.app.ActivityThread.main(ActivityThread.java:5001) 
     at java.lang.reflect.Method.invokeNative(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:515) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) 
     at dalvik.system.NativeStart.main(Native Method) 
Caused by: java.lang.reflect.InvocationTargetException 
     at java.lang.reflect.Method.invokeNative(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:515) 

感谢

+0

如果它停止工作,有可能异常的地方。请分享您的代码打破的地方... – Tgsmith61591

+0

@ Tgsmith61591这里是我的代码 –

+0

@huse_ng请添加您的logcat异常输出,它将帮助您更准确地找到破解的位置,而不是通过挑选代码。 – basic

回答

0

把它放进assets文件夹中(src /主/资产)这样写的

InputStream is = context.getAssets().open(filename);

还是在“原始”文件夹,这样写的:

getResources().openRawResource(R.raw.filename);