当前位置: 首页 > 知识库问答 >
问题:

在Android上创建Excel时出现Xml Beans 2.6异常

尉迟雅昶
2023-03-14

我正在尝试使用Apache POI3.14库创建.xlsx文档。

(...)    
defaultConfig {
            applicationId "com.example.app"
            minSdkVersion 14
            targetSdkVersion 19

            multiDexEnabled true

        }

        buildTypes {
            release {
                minifyEnabled true
                proguardFiles getDefaultProguardFile('proguard-android.txt')
                proguardFile 'Path/app/proguard-rules.pro'
            }
        }
    }

    dependencies {
        compile 'com.android.support:appcompat-v7:22.2.0'
        compile 'com.android.support:multidex:1.0.1'
        //compile files('libs/android-support-v13.jar')
        compile files('libs/commons-io-2.4.jar')
        compile files('libs/commons-net-3.3.jar')
        compile files('libs/poi-3.14-20160307.jar')
        compile files('libs/poi-ooxml-3.14-20160307.jar')
        compile files('libs/poi-ooxml-schemas-3.14-20160307.jar')
        compile files('libs/xmlbeans-2.6.0.jar')
        compile files('libs/curvesapi-1.03.jar')
        compile files('libs/commons-codec-1.10.jar')
        compile files('libs/commons-logging-1.2.jar')
        compile files('libs/junit-4.12.jar')
        compile files('libs/log4j-1.2.17.jar')
        compile 'com.roomorama:caldroid:2.3.1'

    }
Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: org/apache/xmlbeans/xml/stream/Location.class
-Unzip the jar file. (Simply change .jar extension to .zip
-This will remove the duplicate files.
-Recreate the jar using jar cf xmlbeans.jar -C (path to unzipped folder) . (Mind it, there is a dot in the end of command)
-Use this regenerated jar

当我尝试用这个重新编译的.jar运行应用程序时,我会得到这样的警告,但即便如此,它还是会被启动到设备上

    Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
    Error:(org.apache.xmlbeans.impl.inst2xsd.RussianDollStrategy$1) that doesn't come with an
    Error:associated EnclosingMethod attribute. This class was probably produced by a
    Error:compiler that did not target the modern .class file format. The recommended
    Error:solution is to recompile the class from source, using an up-to-date compiler
    Error:and without specifying any "-target" type options. The consequence of ignoring
    Error:this warning is that reflective operations on this class will incorrectly
    Error:indicate that it is *not* an inner class.
(...)

那么在我的代码中尝试执行以下操作时:

XSSFWorkbook wb = new XSSFWorkbook();

我得到这个异常并关闭应用程序

     Caused by: java.lang.NoClassDefFoundError: javax.xml.stream.XMLEventFactory
    at org.apache.poi.openxml4j.opc.internal.marshallers.PackagePropertiesMarshaller.<clinit>(PackagePropertiesMarshaller.java:41)
 at org.apache.poi.openxml4j.opc.OPCPackage.init(OPCPackage.java:162) 
 at org.apache.poi.openxml4j.opc.OPCPackage.<init>(OPCPackage.java:142) 
 at org.apache.poi.openxml4j.opc.Package.<init>(Package.java:37) 
 at org.apache.poi.openxml4j.opc.ZipPackage.<init>(ZipPackage.java:67) 
 at org.apache.poi.openxml4j.opc.OPCPackage.create(OPCPackage.java:344) 
 at org.apache.poi.xssf.usermodel.XSSFWorkbook.newPackage(XSSFWorkbook.java:453) 
 at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:226) 
 at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:218) 
 at com.asde.armatest.persistency.AsyncExcelFile.doInBackground(AsyncExcelFile.java:285) 

共有1个答案

穆正祥
2023-03-14

我找到了这个重新包装的版本。这是有点有限,但为了我的需要,工作很好。它适用于Android4,也适用于Android5

谢谢

 类似资料:
  • 我正在尝试运行MipSdk-Pol 获取策略失败,请求失败,http状态代码:204 当使用用户凭证运行预编译文件API示例时,也会发生同样的情况: 据我所知,我有一个E5试用版,策略和标签都设置正确。我很乐意得到任何建议,谢谢!

  • 尝试在中显示文件时遇到问题。异常如下所示:。 代码如下: 异常消息为: 线程“main”com.JNIWrapper.libraryNotFoundException:在java.library.path中找不到JNIWrapper本机库(jniwrap.dll):c:\program files\java\jdk1.7.0_05\bin;c:\windows\sun\java\bin;c:\wi

  • 我正在使用PDFBox在循环中生成一堆发票。这通常是有效的,但不幸的是,我在循环中不时会遇到以下异常。为失败的发票再次启动生成一两次迟早会创建所有发票。 我已经研究了一些类似的问题,比如这里的PDFbox说PDDocument在未关闭时关闭,我只是认为它与垃圾收集器释放的对象有关,但我没有看到我的代码中的错误。 对于PDF本身的创建,我通常使用ApachePDFBox Cookbook的描述htt

  • 并试图创建如下所示的核心, 但得到以下错误: 安装新的核心实例目录:/home/admin/hadooptools/solr-5.3.0/solr-cores/core1/hdfsstarted 请让我知道如何在HDFS中正确创建核心。

  • 直到昨天:以下代码工作正常。 但是今天早上它开始抛出:异常线程"main"org.openqa.selenium.SessionNotCreatedException:会话未创建异常 我在Stackoverflow中阅读了几个答案。我知道如果selenium web驱动程序和chrome驱动程序之间存在版本不匹配,就会引发此错误。所以我下载了最新的Selenium Web驱动程序(3.0.1 fo

  • 我是一个初学者,当我试图使用JPG创建标签时遇到了一些问题。 显示线程“main”java.lang.NullPointerException中的 异常 在Pane.myImageIcon.(myImageIcon.java:11) 在pane.myimageicon.main(myimageicon.java:21)