2017-01-02 3 views
0

Lorsque je clique sur le bouton rien ne se passe; J'ai donné des autorisations d'écriture externes dans le fichier manifeste. Qu'est-ce qui ne va pas? Merci d'avance.JExcelApi ne fonctionne pas dans Android

(code pêle-mêle je vais redresser plus tard désolé)

Voici mon code:

 excelButton.setOnClickListener(
      new Button.OnClickListener(){ 
       public void onClick(View v) { 
String s = excelName.getText().toString(); 

        Label label; 


         String Fnamexls = s + ".xls"; 
         File sdCard = Environment.getExternalStorageDirectory(); 
         File directory = new File(sdCard.getAbsolutePath() + "/newfolder"); 
         directory.mkdirs(); 
         File file = new File(directory, Fnamexls); 
excelWriter f = new excelWriter(); 
         WorkbookSettings wbSettings = new WorkbookSettings(); 

         wbSettings.setLocale(new Locale("en", "EN")); 

         WritableWorkbook workbook; 
         try { 

          workbook = Workbook.createWorkbook(file, wbSettings); 
          //workbook.createSheet("Report", 0); 
          WritableSheet sheet = workbook.createSheet("First Sheet", 0); 
         for(int x = 0; x<MainActivity.kolonAdi.size();x++){ 
          for(int y = 0; y<MainActivity.rowAdet;y++){ 
           label = f.excelWriterClass(x,y,enterValues.table[x][y].toString()); 
           try { 
            sheet.addCell(label); 

           } catch (RowsExceededException e) { 
            // TODO Auto-generated catch block 
            e.printStackTrace(); 
           } catch (WriteException e) { 
            // TODO Auto-generated catch block 
            e.printStackTrace(); 
           } 
          } 
         } 







          workbook.write(); 
          try { 
           workbook.close(); 
          } catch (WriteException e) { 
           // TODO Auto-generated catch block 
           e.printStackTrace(); 
          } 
          //createExcel(excelSheet); 
         } catch (IOException e) { 
          // TODO Auto-generated catch block 
          e.printStackTrace(); 
         } 


       }}); 

C'est la classe d'étiquettes;

package angrybabysoftware.statisticalsoftware; 

import jxl.write.Label; 



public class excelWriter { 


public Label excelWriterClass (int a, int b, String c){ 

    Label label = new Label(a,b,c); 

    return label; 
} 


} 
+0

Quel est le niveau de votre API? Vous ne vérifiez pas les autorisations d'exécution. –

+0

Va vérifier les deux demain matin. Ne pas avoir accès à un ordinateur jusqu'au matin. Merci pour votre participation. – Fractal

+0

C'était en fait les permissions d'exécution merci. Je pensais que la permission de demande est une fonctionnalité android ne savais pas que je devais le coder. Encore il enregistre à la mémoire de téléphone au lieu de la carte SD bien que je puisse résoudre ce mystère je devine. – Fractal

Répondre

0

Vérifié pour les autorisations d'exécution et il a commencé à fonctionner. merci Gabe Sechan.