无法将xlxs电子表格加载到eclipse中

时间:2015-05-27 15:49:57

标签: java eclipse jaxb docx4j

我想使用eclipse实现一个java桌面应用程序,该应用程序从用户那里获取信息并将其保存到excel电子表格中(使用docx4j),但我在一开始就遇到了问题。

我尝试使用以下代码加载电子表格:

private static void load(String filepath) {
    SpreadsheetMLPackage exc;
    try {
        exc = SpreadsheetMLPackage.load(new java.io.File(filepath));
    } catch (Docx4JException e) {
        e.printStackTrace();
    }
}

但我收到此错误:

[main] ERROR org.docx4j.jaxb.Context - Cannot initialize context
javax.xml.bind.JAXBException: Provider com.sun.xml.internal.bind.v2.ContextFactory could not be instantiated: javax.xml.bind.JAXBException: "org.plutext.jaxb.xmldsig" doesnt contain ObjectFactory.class or jaxb.index
 - with linked exception:
[javax.xml.bind.JAXBException: "org.plutext.jaxb.xmldsig" doesnt contain ObjectFactory.class or jaxb.index]
    at javax.xml.bind.ContextFinder.newInstance(Unknown Source)
    at javax.xml.bind.ContextFinder.find(Unknown Source)
    at javax.xml.bind.JAXBContext.newInstance(Unknown Source)
    at javax.xml.bind.JAXBContext.newInstance(Unknown Source)
    at org.docx4j.jaxb.Context.<clinit>(Context.java:158)
    at org.docx4j.openpackaging.contenttype.ContentTypeManager.parseContentTypesFile(ContentTypeManager.java:679)
    at org.docx4j.openpackaging.io3.Load3.get(Load3.java:132)
    at org.docx4j.openpackaging.packages.OpcPackage.load(OpcPackage.java:454)
    at org.docx4j.openpackaging.packages.OpcPackage.load(OpcPackage.java:371)
    at org.docx4j.openpackaging.packages.OpcPackage.load(OpcPackage.java:262)
    at org.docx4j.openpackaging.packages.OpcPackage.load(OpcPackage.java:242)
    at org.docx4j.openpackaging.packages.SpreadsheetMLPackage.load(SpreadsheetMLPackage.java:97)

注意: 1-创建新电子表格工作正常。 2-添加到我项目中的外部jar是:docx4j-3.2.1,jcl-over-slf4j-1.7.12,slf4j-api-1.7.12,slf4j-simple-1.7.12。 3-我在google上搜索了一个解决方案,我发现我必须将org.apache.xalan和org.apache.xml.serializer jars添加到我的项目中,但它仍然没有用。

1 个答案:

答案 0 :(得分:0)

您需要包含所有docx4j的依赖项。

缺少此特定错误的原因http://www.docx4java.org/docx4j/docx4j-3_2_0/dependencies/jaxb-xmldsig-core-1.0.0.jar