1
我使用apache.poi 3.15來讀取xlsx來自android的文件。我的應用程序呈現在2個條件 條件一個錯誤: 如果我跑我的應用程序沒有XML-beans.jar,應用程序將被建立和運行,我可以declearandroid閱讀xlsx文件與apache poi停止與錯誤,如何解決
XSSFWorkbook workbook = null;
所以也不會報錯被apear但如果我在我的代碼更改此
InputStream fIn = cntx.getResources().getAssets().open("a.xlsx", cntx.MODE_WORLD_READABLE);
XSSFWorkbook workbook = null;
workbook=new XSSFWorkbook(fIn);
應用程序將successfuly建設,運行後會停止,並顯示以下錯誤:
java.lang.VerifyError: org/apache/poi/xssf/usermodel/XSSFWorkbook
條件的兩個:如果我靠xmlbeans.jar,機器人工作室將終止構建過程,並顯示以下錯誤:
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
這是我的gradle產出:
defaultConfig {
applicationId "com.ramin.test"
minSdkVersion 17
targetSdkVersion 23
versionCode 1
versionName "1.0"
//enable Multi Dex
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
dexOptions {
preDexLibraries false;
javaMaxHeapSize "4g"
}
afterEvaluate {
tasks.matching {
it.name.startsWith('dex')
}.each { dx ->
if (dx.additionalParameters == null) {
dx.additionalParameters = ['--multi-dex']
} else {
dx.additionalParameters += '--multi-dex'
}
}
}
dependencies {
testCompile 'junit:junit:4.12'
compile 'com.android.support:cardview-v7:23.4.0'
compile 'com.android.support:recyclerview-v7:23.4.0'
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.android.support:design:23.1.1'
compile files('libs/poi-3.15.jar')
compile files('libs/poi-ooxml-schemas-3.15.jar')
compile files('libs/poi-ooxml-3.15.jar')
compile files('libs/xmlbeans-2.6.0.jar')}
是我應該做的
你看任何其他的Android + POI的問題在這裏?如果你遵循大多數人的建議,會發生什麼? – Gagravarr
是的,我看到了大多數問題在stackoverflow,任何版本有不同的錯誤 – ramin
我試着aspose.cell庫,這是行之有效的,不幸的是不是免費使用只有30天的試用:(所以我再次解決apache.poi問題。下一步我將3.15的apache版本更改爲3.8,現在我只有stax-api1.01.jar出現此錯誤(「javax/xml/stream/EventFilter.class」): 不明智的或錯誤的使用不構建核心庫時的核心類(java。*或javax。*)。) – ramin