0

Apache POI を使用して単純なワークブックを作成しようとしていますが、次のエラーが発生します。

エラー:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/xmlbeans/XmlException
    at xlscreate.xlsclass.main(xlsclass.java:24)
Caused by: java.lang.ClassNotFoundException: org.apache.xmlbeans.XmlException
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 1 more

コード:

import java.io.FileOutputStream;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.InputStream;






public class xlsclass {

     public static void main(String[] args)  throws Exception,Throwable{

           // Workbook wb = new HSSFWorkbook();
           // FileOutputStream fileOut = new FileOutputStream("workbook.xls");
           // wb.write(fileOut);
           // fileOut.close();

            Workbook wb = new XSSFWorkbook();
            FileOutputStream fileOut = new FileOutputStream("c:/workbook.xlsx");
            wb.write(fileOut);
            fileOut.close();


     }
}
4

2 に答える 2

1

Apache POI には多くの依存関係があります。Apache POI の各部分の依存関係の完全なリストは、Web サイトで提供されています。

ビルド ツールとして Maven を使用する場合、Apache POI に依存するようにコードを定義すると、依存関係が自動的に取り込まれます (これですべて定義済みです)。Eclipse または Ant を使用している場合は、Apache POI のバイナリ (-bin-) パッケージをダウンロードする必要があります。そうすれば、そこにすべての依存関係が用意されていることがわかります。

(特定のエラーについては、xmlbeans jarがありませんが、他にもいくつか不足している可能性があり、それが最初のヒットです)

于 2013-02-21T12:04:50.893 に答える
1

Apache POI には依存関係があります。それらを調べてクラスパスに追加する必要があります。これらの依存ライブラリの 1 つに、org.apache.xmlbeans.XmlException という例外クラスが含まれています。どちらかわかりません。その後、他の回答には、コード内の実際のバグのヒントが含まれています。

于 2013-02-21T11:49:52.747 に答える