2015-11-11 113 views
0

我已經把一個名爲門的XLSX文件,你可以在下面的照片看到:打開文件與項目文件

menuA.xlsx

但是我怕我不訪問正確使用FileInputStream

FileInputStream file = null; 
     try { 
      file = new FileInputStream(new File("menuA.xlsx")); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 


    XSSFWorkbook workbook=null; 
    try { 
     workbook = new XSSFWorkbook(file); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

    //create a sheet object 
    XSSFSheet sheet = workbook.getSheetAt(0); 

    //that is for evaluate the cell type 
    FormulaEvaluator formulaEvaluator = workbook.getCreationHelper().createFormulaEvaluator(); 

我已經從NetBeans轉移到了Android Studio,我的代碼在Android Studio中完美運行。

回答

0

你可以把在資產相同的文件文件夾和訪問這些資產如下

InputStream is = getAssets().open("menuA.xlsx"); 

EDIT(說得輕鬆訪問靜態資源的地方):

由於庫您正在使用FileInputStream,您可以將該文件複製到應用程序的專用數據存儲區,即getExternalFilesDir(null)。並從那裏訪問該文件。

+0

事情是Apache需要FileInputStream來讀取文件。 FileInputStream不接受getAssets。我試圖用下面的代碼: 'InputStream file = context.getAssets()。open(「menuaa.xlsx」);' 但是文件仍然沒有被讀取 – Rapharel