2014-09-21 2 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 на момент написания), и вы должны иметь необходимые классы

Смежные вопросы