【发布时间】:2014-12-26 19:30:37
【问题描述】:
我在尝试使用 Apache POI 打开 XLSX 文件时遇到问题。
我的代码:
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class ExcelTest {
public static void main(String[] args) {
try(FileInputStream f = new FileInputStream(new File("path/to/my/file.xlsx"))) {
XSSFWorkbook wb = new XSSFWorkbook(f); // This is the line throwing the exception
} catch(IOException e) {
System.err.println(e.getMessage());
e.printStackTrace(System.err);
}
}
}
抛出异常:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/xmlbeans/XmlException
at my.TEST.ExcelTest.main(ExcelTest.java:24)
Caused by: java.lang.ClassNotFoundException: org.apache.xmlbeans.XmlException
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 1 more
背景:
- 在 MacOS X(Mavericks)上运行 JDK 7
- 使用 NetBeans
- 导入的 jars(全部来自 Apache POI 二进制发行版):
poi-3.11-20141221.jarpoi-ooxml-3.11-20141221.jarpoi-ooxml-schemas-3.11-20141221.jarcommons-codec-1.9.jarlog4j-1.2.17.jar
我什至无法开始做真正的事情,因为我什至无法打开书! :(
当我看到异常时,我想“好吧,让我们获取 xmlbeans 并看看它是否有效”,但是 xmlbeans 被移到了 Apache 的阁楼中。
我错过了什么吗?如何打开工作簿?
【问题讨论】:
-
Apache Attic 意味着一个项目没有得到任何进一步的发展。之前的一切仍然有效!
-
另外,您会在 Apache POI 二进制下载中找到您需要的所有 jars(包括 xmlbeans)!
标签: java excel apache-poi