Hallo,
folgendes:
habe excelfiles als txt-files abzuspeichern. die letzten werden von einer methode in einem String[] je zeile gelesen. Nun sind lauter kolonnennamen und zahlen im String[][], die mit dem stringTokenizer bearbeitet werden um in einer JTable gespeichert und angezeigt zu werden.
Das Problem ist: wenn in der ursprüglichen excelfile zellen hintereinander nichts enthalten dann stimmt die grösse der string[] nicht überein und die zahlen verschieben sich.
meine Lösung: habe es geschafft für zwei leere zellen,
for (int i = 0; i < rowLength; i++) {
String output = to.nextToken("\n");// hier wird jede zeile tokenizt
StringTokenizer to3 = new StringTokenizer(output,"\t",true); //und hier jede zelle bzw. zahl
for (int j = 0; j < listLength; j++) {
String data = to3.nextToken("\t");
if( data.equals("\t") ){
if( (data = to3.nextToken("\t")).equals("\t") ) {
data = " ";
}
}
dataList.add(data);
dataMatrix[i][j] = (String) dataList.get( i * listLength + j );
dataMatrix[i][j] = data;
}
}
folgendes:
habe excelfiles als txt-files abzuspeichern. die letzten werden von einer methode in einem String[] je zeile gelesen. Nun sind lauter kolonnennamen und zahlen im String[][], die mit dem stringTokenizer bearbeitet werden um in einer JTable gespeichert und angezeigt zu werden.
Das Problem ist: wenn in der ursprüglichen excelfile zellen hintereinander nichts enthalten dann stimmt die grösse der string[] nicht überein und die zahlen verschieben sich.
meine Lösung: habe es geschafft für zwei leere zellen,
for (int i = 0; i < rowLength; i++) {
String output = to.nextToken("\n");// hier wird jede zeile tokenizt
StringTokenizer to3 = new StringTokenizer(output,"\t",true); //und hier jede zelle bzw. zahl
for (int j = 0; j < listLength; j++) {
String data = to3.nextToken("\t");
if( data.equals("\t") ){
if( (data = to3.nextToken("\t")).equals("\t") ) {
data = " ";
}
}
dataList.add(data);
dataMatrix[i][j] = (String) dataList.get( i * listLength + j );
dataMatrix[i][j] = data;
}
}
Comment