0

我正在尝试使用 Apache POI 创建一个简单的工作簿并收到以下错误。使用 apchhe poi 3.9 请帮助我摆脱这种感谢。

错误:

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 具有依赖关系。您需要查找它们并将它们添加到您的类路径中。其中一个依赖库包含这个异常类:org.apache.xmlbeans.XmlException。不确定是哪一个。之后,其他答案包含代码中实际错误的提示。

于 2013-02-21T11:49:52.747 回答
1

Apache POI 有许多依赖项网站上给出了Apache POI 每个部分的完整依赖项列表

如果您使用 Maven 作为构建工具,当您将代码定义为依赖于 Apache POI(全部定义)时,它会自动吸收依赖项。如果您使用 Eclipse 或 Ant,那么您应该下载Apache POI 的二进制 (-bin-) 包,然后您会在其中找到所有的依赖项。

(对于您的特定错误,您缺少 xmlbeans jar,但我怀疑您也可能缺少其他一些东西,这是第一个命中)

于 2013-02-21T12:04:50.893 回答