2016-02-16 5 views
0

Я хочу, чтобы прочитать файлXLSX, поэтому я использую org.apache.poi: пои-OOXML: 3,7Ошибка: Не удалось завершить выполнение задачи для «: приложение: transformClassesWithDexForDebug» после добавления пои-OOXML: 3,7 библиотека

Теперь я делал все, никаких ошибок до сих пор, но, когда я запустить приложение, Android-студия не дает мне странные ошибки

Error:Execution failed for task ':app:transformClassesWithDexForDebug'. com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0\bin\java.exe'' finished with non-zero exit value 1

Теперь, прежде чем отметить этот вопрос как дубликат, позвольте мне сказать вы, что я сделал до сих пор:

1. build.gradle Файл

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.2" 

defaultConfig { 
    applicationId "in.example.excel" 
    minSdkVersion 14 
    targetSdkVersion 23 
    versionCode 1 
    versionName "1.0" 
    multiDexEnabled true 
} 
buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
} 
    dexOptions { 
     preDexLibraries = false 
     javaMaxHeapSize "4g" 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    testCompile 'junit:junit:4.12' 
    compile 'com.android.support:multidex:1.0.1' 
    compile 'com.android.support:appcompat-v7:23.1.1' 
    compile 'org.apache.poi:poi-ooxml:3.7' 
} 


2. Manifest декларация MultiDex метод
<application android:name="android.support.multidex.MultiDexApplication" ...

3. readExcelFile (...)

private void readExcelFile(String path, Context ironMaiden) 
    { 
    try 
    { 
     File iSFile = new File(path); 
     FileInputStream inputStream = new FileInputStream(iSFile); 

     Workbook workbook = WorkbookFactory.create(inputStream); 
     org.apache.poi.ss.usermodel.Sheet sheet = workbook.getSheetAt(0); 

     Row row = sheet.getRow(0); 

     for (int i = 0; i < row.getLastCellNum(); i++) 
     { 
      Cell cell = row.getCell(i); 
      Log.d("DEBUG", cell.getStringCellValue()); 
     } 
    } 
    catch (IOException | InvalidFormatException io) 
    { 
     io.printStackTrace(); 
    } 
} 


4. Перестроить и очистить Да, я восстановил проект и несколько раз очистил его. Я также сделал то же самое через командную строку gradlew clean и gradlew app:dependencies

Я собираюсь бросить эту библиотеку. Пожалуйста помоги.

ответ

0

Я решил проблему, добавив два JAR извне.

  1. пои-3.9.jar Download
  2. пои-00xml-3.9.jar Download


PS: Пожалуйста добавьте JARs извне, добавив их с помощью Maven создает путаницу ошибку.

+0

POI 3.9 довольно старый, почему вы не используете самые последние? – Gagravarr

+0

POI 3.9 работал для меня. Какая последняя версия? – zackygaurav

+0

Если вы [проверьте сайт Apache POI] (http://poi.apache.org/download.html), вы можете увидеть его 3.13 final или 3.14 beta 1 - [список исправлений с 3,9 очень длинный] (http: //poi.apache.org/changes.html#3.9)! – Gagravarr