Я хочу, чтобы прочитать файл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
Я собираюсь бросить эту библиотеку. Пожалуйста помоги.
POI 3.9 довольно старый, почему вы не используете самые последние? – Gagravarr
POI 3.9 работал для меня. Какая последняя версия? – zackygaurav
Если вы [проверьте сайт 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