Apache POI - PullRequest
       23

Apache POI

0 голосов
/ 18 сентября 2018

Я пытаюсь создать документ Word, используя Apache POI 4.0.0, но получаю ошибку

Исключение в потоке "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org / apache / commons / compress / archivers / zip / ZipFile at org.apache.poi.openxml4j.opc.OPCPackage.create (OPCPackage.java:365) в org.apache.poi.xwpf.usermodel.XWPFDocument.newPackage (XWPFDocument.java:158) в org.apache.poi.xwpf.usermodel.XWPFDocument. (XWPFDocument.java:149) в model.Model_dokumen.Cetak (Model_dokumen.java:32) в view.Frame_surat.cetak_dan_simpanActionPerformed (Frame_surat.java:414) в представлении. Frame_surat.access $ 400 (Frame_surat.java:23) в view.Frame_surat $ 5.actionPerformed (Frame_surat.java:211) в javax.swing.AbstractButton.fireActionPerformed (AbstractButton.java:2022) в javax.swing.AbstractButton $ Handler.actionPerformed (AbstractButton.java:2348) в javax.swing.DefaultButtonModel.fireActionPerformed (DefaultButtonModel.java:402) в javax.swing.DefaultButtonModel.setPressed (DefaultButtonModel.java:259) в javax.swing.plaf.basic.BasicButtonListener.mouseReleased (BasicButtonListener.java:252) в java.awt.Component.processMouseEvent (Component.java:6533) в javax.swing.JComponent.processMouseEvent (JComponent.java:3324) в java.awt.Component.processEvent (Component.java:6298) в java.awt.Container.processEvent (Container.java:2238) в java.awt.Component.dispatchEventImpl (Component.java:4889) в java.awt.Container.dispatchEventImpl (Container.java:2296) в java.awt.Component.dispatchEvent (Component.java:4711) в java.awt.LightweightDispatcher.retargetMouseEvent (Container.java:4897) в java.awt.LightweightDispatcher.processMouseEvent (Container.java:4534) в java.awt.LightweightDispatcher.dispatchEvent (Container.java:4475) в java.awt.Container.dispatchEventImpl (Container.java:2282) в java.awt.Window.dispatchEventImpl (Window.java:2746) в java.awt.Component.dispatchEvent (Component.java:4711) в java.awt.EventQueue.dispatchEventImpl (EventQueue.java:760) в java.awt.EventQueue.access $ 500 (EventQueue.java:97) в java.awt.EventQueue $ 3.run (EventQueue.java:709) в java.awt.EventQueue $ 3.run (EventQueue.java:703) в java.security.AccessController.doPrivileged (собственный метод) в java.security.ProtectionDomain $ JavaSecurityAccessImpl.doIntersectionPrivilege (ProtectionDomain.java:80) в java.security.ProtectionDomain $ JavaSecurityAccessImpl.doIntersectionPrivilege (ProtectionDomain.java:90) в java.awt.EventQueue $ 4.run (EventQueue.java:733) в java.awt.EventQueue $ 4.run (EventQueue.java:731) в java.security.AccessController.doPrivileged (собственный метод) в java.security.ProtectionDomain $ JavaSecurityAccessImpl.doIntersectionPrivilege (ProtectionDomain.java:80) в java.awt.EventQueue.dispatchEvent (EventQueue.java:730) в java.awt.EventDispatchThread.pumpOneEventForFilters (EventDispatchThread.java:205) в java.awt.EventDispatchThread.pumpEventsForFilter (EventDispatchThread.java:116) в java.awt.EventDispatchThread.pumpEventsForHierarchy (EventDispatchThread.java:105) в java.awt.EventDispatchThread.pumpEvents (EventDispatchThread.java:101) в java.awt.EventDispatchThread.pumpEvents (EventDispatchThread.java:93) в java.awt.EventDispatchThread.run (EventDispatchThread.java:82) Вызывается: java.lang.ClassNotFoundException: org.apache.commons.compress.archivers.zip.ZipFile по адресу java.net.URLClassLoader.findClass (URLClassLoader.java:381) в java.lang.ClassLoader.loadClass (ClassLoader.java:424) в sun.misc.Launcher $ AppClassLoader.loadClass (Launcher.java:349) в java.lang.ClassLoader.loadClass (ClassLoader.java:357) ... еще 43 Blockquote

Я следую учебному пособию с этого сайта: Учебное пособие указывает , и я пробовал какие-либо решения из блога, форума и т. Д., Но у меня ничего не получалось. Это мой код:

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package model;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import view.Frame_surat;

/**
 *
 * @author nasution
 */
public class Model_dokumen {

    public void Cetak(Frame_surat fs) throws Exception {
        try {
            XWPFDocument document = new XWPFDocument();
//            XWPFDocument document = new XWPFDocument();//blank document
            //membuat paragraf

             //membuat dokumen surat keluar
            try (FileOutputStream outputStream = new FileOutputStream(new File("Surat_keluar.docx"))) {
                //membuat paragraf
                XWPFParagraph paragraf = document.createParagraph();
                XWPFRun run = paragraf.createRun();
                run.setText("ini adalah halaman dokumen yg baru saja dibuat menggunakan POI");
                document.write(outputStream);
            }
            JOptionPane.showMessageDialog(null, "Surat keluar berhasil dibuat");
        } catch (FileNotFoundException ex) {
            Logger.getLogger(Model_dokumen.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IOException ex) {
            Logger.getLogger(Model_dokumen.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

}

enter image description here

enter image description here

enter image description here

Ответы [ 2 ]

0 голосов
/ 31 мая 2019

Для poi-4.1.0 я должен был добавить их в classpath: dom4j-1.6.jar xmlbeans-3.1.0.jar commons-collection4-4.3.jar commons-compress-1.18.jar Только тогда эта работа была выполнена дляФайл Excel.xlsx:

ExcelWBook = new XSSFWorkbook(ExcelFile);
0 голосов
/ 18 сентября 2018

Попробуйте найти имя класса, затем скачайте jar, вы можете найти указанные файлы jar. msgstr "ex: XWPF jar files download." и скачать классы XWPF в виде jar-файлов, у меня была эта проблема раньше, и я решил ее так, но для меня это был pdfBox. PS: попробуйте поискать файлы jar для «org.apache.poi.xwpf», вы получите больше результатов.

...