我想使用Apache POI读取和写入Android中的excel文件(包括xlsx和xls)。但我无法解决我目前拥有的依赖关系问题。使用Apache POI读取Android中的Excel文件的依赖关系
如果我只有在我的gradle这个文件这两个依赖
compile files('libs/poi-3.12-20150511.jar')
compile files('libs/poi-ooxml-3.12-20150511.jar')
然后我得到以下错误:
java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/xmlbeans/XmlOptions;
at org.apache.poi.POIXMLDocumentPart.(POIXMLDocumentPart.java:59)
at com.gargzdai.spreadsheet.MainActivity.readData(MainActivity.java:131)
at com.gargzdai.spreadsheet.MainActivity.prepareForReadingData(MainActivity.java:109)
at com.gargzdai.spreadsheet.MainActivity.onCreate(MainActivity.java:68)
at android.app.Activity.performCreate(Activity.java:5990)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
at android.app.ActivityThread.access$800(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5254)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
这是我用来读取Excel文件的代码:
if (isXlsxFile)
myWorkbook = new XSSFWorkbook(OPCPackage.open(file));
else
myWorkbook = new HSSFWorkbook(fileStream);
Sheet mySheet = myWorkbook.getSheetAt(0);
Iterator rowIterator = mySheet.rowIterator();
看来我应该添加xmlbeans库。之后我这种依赖关系添加到我的gradle这个文件:
compile files('libs/xmlbeans-2.6.0.jar')
我gradle这个生成过程中添加这种依赖我碰到下面的错误后:
Error:Execution failed for task ':app:preDexDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_40\bin\java.exe'' finished with non-zero exit value 1
任何想法我应该怎么解决这个问题?
2015-06-01
Mantas
+0
有一点需要注意的是,Java 8并不受Android的支持:https://developer.android.com/sdk/index.html#Requirements http://stackoverflow.com/questions/23318109/is - 可能使用java-8-for-android-development –
+0
感谢您注意到这一点,但它没有改变任何东西。 –
+0
有没有不同版本的poi依赖关系的android?我只是想知道。我现在用\t \t \t \t \t \t org.apache.poi \t \t \t POI-OOXML \t \t \t 3.9 \t \t对于java项目和它的工作 –