Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Android Studio] Utiliser APACHE POI

Créer un Document Word depuis un Bouton

    26 juillet 2019 à 12:32:10

    Bonjour a tous
    J'ai une petite question concernant APACHE POI pour Word (https://poi.apache.org/) : j'essais de coder une petite appli permettant lors du clic sur un bouton de générer un Doc Word, le problème est que j'ai l'impression que le code est bon par contre lors du clic cela ne donne RIEN du tout.

    Si qqun pouvait m'aider ca serait vraiment super.
    Merci beaucoup
    Voici mon code Java :
    generer.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    
    try {
    
    XWPFDocument document = new XWPFDocument();
    
    FileOutputStream out = new FileOutputStream(new File("montestapache.docx"));
    
    XWPFParagraph paragraph = document.createParagraph();
    XWPFRun run = paragraph.createRun();
    run.setText("Mon test pour voir si cela fonctionne " +
    "Et ca serait cool que OUI cela me génére un Document Word ");
    
    document.write(out);
    out.close();
    System.out.println("montestapache.docx généré avec succès");
    
    
    Toast.makeText(MainActivity.this, "Document crée avec Succès", Toast.LENGTH_SHORT).show();
    
    
    } catch (Exception e) {
    
    Toast.makeText(MainActivity.this, "Erreur ! Opération annulée", Toast.LENGTH_SHORT).show();
    }
    
    }
    });




    Si quelqu'un pouvait m'aider et me dire pourquoi cela plante cela serait super sympa, merci beaucoup

    -
    Edité par Olvire 26 juillet 2019 à 12:38:36

    • Partager sur Facebook
    • Partager sur Twitter
      30 juillet 2019 à 11:01:24

      Bonjour,

      Personne n'utilises APACHE POI ???????????????

      • Partager sur Facebook
      • Partager sur Twitter
        30 juillet 2019 à 19:39:15

        Salut,

        Ca veut dire quoi “rien du tout” ? Avec si peu d’information c’est dur de conseiller quoi que ce soit.

        T’as deux toasts, ils ne s’affichent pas ?

        T’as mis un breakpoint pour voir si tu rentrais dans le listener ?

        • Partager sur Facebook
        • Partager sur Twitter
          31 juillet 2019 à 10:34:29

          Bonjour,

          Quand je clic sur le bouton, voila ce que m'affiche le Run :

          E/AndroidRuntime: FATAL EXCEPTION: main
              Process: com.example.test_apacheword, PID: 2608
              java.lang.NoClassDefFoundError: Failed resolution of: Ljavax/xml/stream/XMLStreamReader;
                  at org.apache.xmlbeans.XmlBeans.buildStreamToNodeMethod(XmlBeans.java:251)
                  at org.apache.xmlbeans.XmlBeans.<clinit>(XmlBeans.java:138)
                  at org.apache.xmlbeans.XmlBeans.typeLoaderForClassLoader(XmlBeans.java:719)
                  at org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDocument1$Factory.getTypeLoader(Unknown Source:25)
                  at org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDocument1$Factory.newInstance(Unknown Source:0)
                  at org.apache.poi.xwpf.usermodel.XWPFDocument.onDocumentCreate(XWPFDocument.java:305)
                  at org.apache.poi.xwpf.usermodel.XWPFDocument.<init>(XWPFDocument.java:150)
                  at com.example.test_apacheword.MainActivity$3.onClick(MainActivity.java:72)
                  at android.view.View.performClick(View.java:7352)
                  at android.widget.TextView.performClick(TextView.java:14177)
                  at android.view.View.performClickInternal(View.java:7318)
                  at android.view.View.access$3200(View.java:846)
                  at android.view.View$PerformClick.run(View.java:27800)
                  at android.os.Handler.handleCallback(Handler.java:873)
                  at android.os.Handler.dispatchMessage(Handler.java:99)
                  at android.os.Looper.loop(Looper.java:214)
                  at android.app.ActivityThread.main(ActivityThread.java:7050)
                  at java.lang.reflect.Method.invoke(Native Method)
                  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:965)
               Caused by: java.lang.ClassNotFoundException: Didn't find class "javax.xml.stream.XMLStreamReader" on path: DexPathList[[zip file "/data/app/com.example.test_apacheword-hWGinlkPunB-zV18yGq0Tg==/base.apk", zip file "/data/app/com.example.test_apacheword-hWGinlkPunB-zV18yGq0Tg==/split_lib_dependencies_apk.apk", zip file "/data/app/com.example.test_apacheword-hWGinlkPunB-zV18yGq0Tg==/split_lib_resources_apk.apk", zip file "/data/app/com.example.test_apacheword-hWGinlkPunB-zV18yGq0Tg==/split_lib_slice_0_apk.apk", zip file "/data/app/com.example.test_apacheword-hWGinlkPunB-zV18yGq0Tg==/split_lib_slice_1_apk.apk", zip file "/data/app/com.example.test_apacheword-hWGinlkPunB-zV18yGq0Tg==/split_lib_slice_2_apk.apk", zip file "/data/app/com.example.test_apacheword-hWGinlkPunB-zV18yGq0Tg==/split_lib_slice_3_apk.apk", zip file "/data/app/com.example.test_apacheword-hWGinlkPunB-zV18yGq0Tg==/split_lib_slice_4_apk.apk", zip file "/data/app/com.example.test_apacheword-hWGinlkPunB-zV18yGq0Tg==/split_lib_slice_5_apk.apk", zip file "/data/app/com.example.test_apacheword-hWGinlkPunB-zV18yGq0Tg==/split_lib_slice_6_apk.apk", zip file "/data/app/com.example.test_apacheword-hWGinlkPunB-zV18yGq0Tg==/split_lib_slice_7_apk.apk", zip file "/data/app/com.example.test_apacheword-hWGinlkPunB-zV18yGq0Tg==/split_lib_slice_8_apk.apk", zip file "/data/app/com.example.test_apacheword-hWGinlkPunB-zV18yGq0Tg==/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/com.example.test_apacheword-hWGinlkPunB-zV18yGq0Tg==/lib/arm64, /system/lib64, /system/vendor/lib64]]
                  at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)
                  at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
                  at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
                  at org.apache.xmlbeans.XmlBeans.buildStreamToNodeMethod(XmlBeans.java:251) 
                  at org.apache.xmlbeans.XmlBeans.<clinit>(XmlBeans.java:138) 
                  at org.apache.xmlbeans.XmlBeans.typeLoaderForClassLoader(XmlBeans.java:719) 
                  at org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDocument1$Factory.getTypeLoader(Unknown Source:25) 
                  at org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDocument1$Factory.newInstance(Unknown Source:0) 
                  at org.apache.poi.xwpf.usermodel.XWPFDocument.onDocumentCreate(XWPFDocument.java:305) 
                  at org.apache.poi.xwpf.usermodel.XWPFDocument.<init>(XWPFDocument.java:150) 
                  at com.example.test_apacheword.MainActivity$3.onClick(MainActivity.java:72) 
                  at android.view.View.performClick(View.java:7352) 
                  at android.widget.TextView.performClick(TextView.java:14177) 
                  at android.view.View.performClickInternal(View.java:7318) 
                  at android.view.View.access$3200(View.java:846) 
                  at android.view.View$PerformClick.run(View.java:27800) 
                  at android.os.Handler.handleCallback(Handler.java:873) 
                  at android.os.Handler.dispatchMessage(Handler.java:99) 
                  at android.os.Looper.loop(Looper.java:214) 
                  at android.app.ActivityThread.main(ActivityThread.java:7050) 
                  at java.lang.reflect.Method.invoke(Native Method) 
                  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 
                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:965) 
              	Suppressed: java.io.IOException: No original dex files found for dex location (arm64) /data/app/com.example.test_apacheword-hWGinlkPunB-zV18yGq0Tg==/split_lib_resources_apk.apk
                  at dalvik.system.DexFile.openDexFileNative(Native Method)
                  at dalvik.system.DexFile.openDexFile(DexFile.java:354)
                  at dalvik.system.DexFile.<init>(DexFile.java:101)
                  at dalvik.system.DexFile.<init>(DexFile.java:75)
                  at dalvik.system.DexPathList.loadDexFile(DexPathList.java:394)
                  at dalvik.system.DexPathList.makeDexElements(DexPathList.java:354)
                  at dalvik.system.DexPathList.<init>(DexPathList.java:164)
                  at dalvik.system.BaseDexClassLoader.<init>(BaseDexClassLoader.java:74)
          E/AndroidRuntime:     at dalvik.system.BaseDexClassLoader.<init>(BaseDexClassLoader.java:65)
                  at dalvik.system.PathClassLoader.<init>(PathClassLoader.java:64)
                  at com.android.internal.os.ClassLoaderFactory.createClassLoader(ClassLoaderFactory.java:73)
                  at com.android.internal.os.ClassLoaderFactory.createClassLoader(ClassLoaderFactory.java:88)
                  at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:74)
                  at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:40)
                  at android.app.LoadedApk.createOrUpdateClassLoaderLocked(LoadedApk.java:764)
                  at android.app.LoadedApk.getClassLoader(LoadedApk.java:847)
                  at android.app.LoadedApk.getResources(LoadedApk.java:1088)
                  at android.app.ContextImpl.createAppContext(ContextImpl.java:2563)
                  at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6100)
                  at android.app.ActivityThread.access$1200(ActivityThread.java:237)
                  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1785)
                  at android.os.Handler.dispatchMessage(Handler.java:106)
                  		... 5 more
              	Suppressed: java.io.IOException: No original dex files found for dex location (arm64) /data/app/com.example.test_apacheword-hWGinlkPunB-zV18yGq0Tg==/split_lib_slice_5_apk.apk
                  at dalvik.system.DexFile.openDexFileNative(Native Method)
                  at dalvik.system.DexFile.openDexFile(DexFile.java:354)
                  at dalvik.system.DexFile.<init>(DexFile.java:101)
                  at dalvik.system.DexFile.<init>(DexFile.java:75)
                  at dalvik.system.DexPathList.loadDexFile(DexPathList.java:394)
                  at dalvik.system.DexPathList.makeDexElements(DexPathList.java:354)
                  at dalvik.system.DexPathList.<init>(DexPathList.java:164)
                  at dalvik.system.BaseDexClassLoader.<init>(BaseDexClassLoader.java:74)
                  at dalvik.system.BaseDexClassLoader.<init>(BaseDexClassLoader.java:65)
                  at dalvik.system.PathClassLoader.<init>(PathClassLoader.java:64)
                  at com.android.internal.os.ClassLoaderFactory.createClassLoader(ClassLoaderFactory.java:73)
                  at com.android.internal.os.ClassLoaderFactory.createClassLoader(ClassLoaderFactory.java:88)
                  at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:74)
                  at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:40)
                  at android.app.LoadedApk.createOrUpdateClassLoaderLocked(LoadedApk.java:764)
                  at android.app.LoadedApk.getClassLoader(LoadedApk.java:847)
                  at android.app.LoadedApk.getResources(LoadedApk.java:1088)
                  at android.app.ContextImpl.createAppContext(ContextImpl.java:2563)
                  at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6100)
                  at android.app.ActivityThread.access$1200(ActivityThread.java:237)
                  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1785)
                  at android.os.Handler.dispatchMessage(Handler.java:106)
                  		... 5 more
          I/Process: Sending signal. PID: 2608 SIG: 9
          Application terminated.

          Et l'application s'arrête

          • Partager sur Facebook
          • Partager sur Twitter

          [Android Studio] Utiliser APACHE POI

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown