2012-04-05 10 views
0

sdcardの既存のスプレッドシートにデータを追加するアプリケーションを作成しようとしています。JXLとAndroidのi/oパーミッションが拒否されました

私が書き込み可能なワークブック作成しようとすると問題が生じています:

outputWorkbook = Workbook.createWorkbook(outputWorkbookFile,inputWorkbook);

を私はEclipseでLogcatでエラーが出ます:

04-05 13:29:54.809: W/System.err(32653): java.io.FileNotFoundException: /mnt/sdcard/Dev/Spreadsheets/in.xls (Permission denied)

私は入力を読み込むことができますファイルを取得してセルの内容を取得すると、Writableブックをインスタンス化するか、入力ブックをインスタンス化できますが、両方を行うことはできません。

private void doStuff() { 
    File directory = Environment.getExternalStorageDirectory(); 
    inputWorkbookFile = new File(directory + "/Dev/Spreadsheets/in.xls"); 
    outputWorkbookFile = new File(directory + "/Dev/Spreadsheets/out.xls"); 

    try { 

     // Put data into an array for easier iteration 
     double data[]; 
     data = new double[7]; 
     data[0] = income; 
     data[1] = diesel; 
     data[2] = carHire; 
     data[3] = radio; 
     data[5] = 0; 
     data[6] = itemCost; 

     inputWorkbook = Workbook.getWorkbook(inputWorkbookFile); 
     Log.e("Testing", "Opened workbook"); 

     if (isExternalStorageAvailable() && isExternalStorageReadable()) { 
      Log.e("Testing", "storage readable and available"); 
      outputWorkbook = Workbook.createWorkbook(outputWorkbookFile, 
        inputWorkbook); 
     } 

答えて

0

あなたは許可android.permission.WRITE_EXTERNAL_STORAGEであなたのAndroidManifest uses-permissionタグで宣言する必要があります。

+0

非常にうまくいきました。私はその昨夜を考えたが、それを試して忘れて、私の頭がその点で少し揚げられていた。ありがとう –

関連する問題