xlsx Datei auslesen mit POI Apache liest keine LEERZELLEN

osix

Bekanntes Mitglied
Hallo Freunde,

mit folgender üblicher Routine lese ich Spalte um Spalte, und dort Zelle um Zelle.

Warum werden leere Zellen einfach übersprungen ? Die möchte ich aber mitlesen, weil
ich eben mitzähle welche Spalte grade gelesen wird (ihr seht das im Ansatz unten) , und dies dann je nach Spaltennummer zuordne.

Besten Dank für eure Hilfe

-----------------------------------------------------
while (rowIterator.hasNext())
{
row = rowIterator.next();

// Jede Zelle der aktuellen Zeile

Iterator<Cell> cellIterator = row.cellIterator();
i=1;
while (cellIterator.hasNext())
{
Cell c= cellIterator.next();

if (i==1) { String x=c.getStringCellValue().trim();
System.out.println(i+"."+x);
herr = x; }
if (i==2) { String x=c.getStringCellValue().trim();
System.out.println(i+"."+x);
frau = x; }
........
(Code-Auszug, nicht lauffähig)
 
Weil leere Zellen nicht gespeichert werden. Warum auch? Du hast doch auch die Zeilen/Spalte-Information, in der du dich gerade befindest, in der Cell.
 
Versteh ich nicht, wenn ich mit i mitzähle, weiß ich nicht, ob eine Leerzelle übersprungen wurde.

Dadurch kommt mein Programm komplett durcheinander. Für i=6 erwarte ich z.b. Textzelle für i=7 Zahl
 
Das ist ja auch schon der Fehler. Wazum zählst du überhaupt mit i?
Die Cell hat die Information, welche Row und Column die gerade hat...
Du kannst nicht davon ausgehen, dass die monoton inkrementiert werden. Du hast ja letztlich nur einen Iterator<Cell> in der Hand. Der kann völlig beliebig die Cells zurückliefern.
 

Zurück
Oben