2014-09-21 853 views
0

我想读取xls和xlsx文件。无法访问NPOIFSFileSystem

我使用此行来访问我的工作簿。

myWorkBook = WorkbookFactory.create(file); 

我的gradle构建如下: 应用插件: 'com.android.application'

android { 
    compileSdkVersion 19 
    buildToolsVersion "19.1.0" 

    defaultConfig { 
     applicationId "com.example.application" 
     minSdkVersion 8 
     targetSdkVersion 19 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      runProguard false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 

    packagingOptions { 
     exclude 'META-INF/DEPENDENCIES.txt' 
     exclude 'META-INF/LICENSE.txt' 
     exclude 'META-INF/NOTICE.txt' 
     exclude 'META-INF/NOTICE' 
     exclude 'META-INF/LICENSE' 
     exclude 'META-INF/DEPENDENCIES' 
     exclude 'META-INF/notice.txt' 
     exclude 'META-INF/license.txt' 
     exclude 'META-INF/dependencies.txt' 
     exclude 'META-INF/LGPL2.1' 
    } 
} 

dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
    compile 'com.android.support:appcompat-v7:19.1.0' 
    compile files('libs/poi-3.7.jar') 
    compile files('libs/poi-ooxml-3.9.jar') 
    compile project(':aFileChooser') 
} 

我不能编译我的项目,我得到以下错误:

Error:(210, 41) error: cannot access NPOIFSFileSystem class file for org.apache.poi.poifs.filesystem.NPOIFSFileSystem not found Error:Execution failed for task ':app:compileDebugJava'. Compilation failed; see the compiler error output for details.

任何想法可能是错误的?

回答

3

你的问题是几乎可以肯定这些行:

compile files('libs/poi-3.7.jar') 
compile files('libs/poi-ooxml-3.9.jar') 

具体来说,有两个问题。首先,你必须必须使用匹配版本的Apache POI罐子。它不支持同时使用旧罐和新罐的混合物,它们都必须来自同一版本。其次,你的罐子都是旧罐子,因为他们的年龄错过了一些功能。

将它们都转换为POI 3.10.1(或更新的版本,例如写作时的3.11 beta 2),然后您应该拥有需要的课程