Java xlsx中的apachepoi-xml:space=“preserve”正在破坏GUI,并且单元格格式不正确
我有以下文件:。我的G6输出是:Java xlsx中的apachepoi-xml:space=“preserve”正在破坏GUI,并且单元格格式不正确,java,android,xml,excel,apache-poi,Java,Android,Xml,Excel,Apache Poi,我有以下文件:。我的G6输出是: 10-20 12:55:38.521 30921-30921/tona_kriz.kriziksupl I/System.out: Row: 8 - Column: 7 = 是的,什么都没有,GUI会消失吗?但整个应用程序仍在运行。每隔一行字符串(不以空格结尾)读取一次 我研究了该.xlsx文件并找到了该单元格的字符串: <t xml:space="preserve">Tv/Jk=0 ------- </t> 图书馆 格雷德尔先
10-20 12:55:38.521 30921-30921/tona_kriz.kriziksupl I/System.out: Row: 8 - Column: 7 =
是的,什么都没有,GUI会消失吗?但整个应用程序仍在运行。每隔一行字符串(不以空格结尾)读取一次
我研究了该.xlsx文件并找到了该单元格的字符串:
<t xml:space="preserve">Tv/Jk=0 ------- </t>
图书馆
格雷德尔先生
有什么解决办法吗?我可以录制bandicam,fraps。。emulator和logcat的外观如何
logcat补充道
为什么它会崩溃?您看到了什么错误/异常?如果您尝试使用ApachePOI3.13会发生什么?当我试图将该单元格写入字符串'string stringVal=cell.getStringCellValue;'时,它崩溃了或者,当我试图将其设置为textview xml的文本时,它只是简单的textview,没有任何更改'test=TextViewfindViewByIdR.id.textview;test.setTextstringVal;'。在控制台logcat中,我无法在晚上发布完整的日志cat。您似乎没有对单元格类型进行任何检查。如果你把它们放进去会发生什么,比如说根据?@Gagravarr我的代码看起来现在仍然崩溃。。。
import android.app.Activity;
import android.content.res.AssetManager;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;
import java.io.BufferedInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class MainActivity extends Activity {
int wbs;
XSSFWorkbook wb = null;
XSSFSheet sheet = null;
XSSFCell cell;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//1. Open the file
new Thread(loadWorkbook).start();
}
public Runnable loadWorkbook = new Runnable() {
@Override
public void run() {
try {
AssetManager assManager = getApplicationContext().getAssets();
InputStream is = null;
try {
is = assManager.open("supl_zak.xlsx");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
InputStream caInput = new BufferedInputStream(is);
wb = new XSSFWorkbook(caInput);
wbs = wb.getNumberOfSheets();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
runOnUiThread(new Runnable() {
public void run() {
workWithWB();
}
});
}
};
void workWithWB() {
//3. Get each cell by row & column number
Toast.makeText(getApplicationContext(), "number of sheets: " + wbs, Toast.LENGTH_SHORT).show();
sheet = wb.getSheetAt(0);
cell = sheet.getRow(7).getCell(5);
String stringVal = cell.getStringCellValue();
TextView test = (TextView)findViewById(R.id.textView);
test.setText(stringVal);
try {
wb.close();
} catch (IOException e) {
e.printStackTrace();
}
}
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
dexOptions {
preDexLibraries false
//incremental true
javaMaxHeapSize "4g"
}
afterEvaluate {
tasks.matching {
it.name.startsWith('dex')
}.each { dx ->
if (dx.additionalParameters == null) {
dx.additionalParameters = ['--multi-dex']
} else {
dx.additionalParameters += '--multi-dex'
}
}
}
packagingOptions {
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/NOTICE'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
}
defaultConfig {
applicationId "awesomeapp.whichreadsexcell"
minSdkVersion 16
targetSdkVersion 23
versionCode 1
versionName "0.0.0.0.0.1 closed pre alpha"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
project.tasks.withType(com.android.build.gradle.tasks.Dex) {
additionalParameters=['--core-library'] // --core-library option needed for now, will fix it soon
}
}
dependencies {
compile 'com.android.support:appcompat-v7:23.1.0'
compile 'com.android.support:multidex:1.0.1'
compile files('libs/poi-3.12-android.jar')
compile files('libs/poi-ooxml-schemas-3.12-20150511.jar')
}
10-22 20:14:26.435 31444-31444 I/art: Late-enabling -Xcheck:jni
10-22 20:14:26.525 31444-31444 W/ActivityThread: Application tona_kriz.kriziksupl can be debugged on port 8100...
10-22 20:14:26.555 31444-31444 I/MultiDex: VM with version 2.1.0 has multidex support
10-22 20:14:26.555 31444-31444 I/MultiDex: install
10-22 20:14:26.555 31444-31444 I/MultiDex: VM has multidex support, MultiDex support library is disabled.
10-22 20:14:26.555 31444-31444 V/Monotype: SetAppTypeFace- try to flip, app = tona_kriz.kriziksupl
10-22 20:14:26.555 31444-31444 V/Monotype: Typeface getFontPathFlipFont - systemFont = default
10-22 20:14:26.565 31444-31444 V/Monotype: SetAppTypeFace- try to flip, app = tona_kriz.kriziksupl
10-22 20:14:26.565 31444-31444 V/Monotype: Typeface getFontPathFlipFont - systemFont = default
10-22 20:14:26.575 31444-31444 I/System.out: Sending WAIT chunk