Ich verwende SXSSFWorkbook und SXSSFSheet Objekte. Ich bin erfolgreich in die Excel-Datei schreiben:Apache POI & SXSSF: Anzahl der Zeilen immer 0
FileOutputStream fos = new FileOutputStream(fileName);
wb.write(fos);
fos.close();
wb.dispose();
Nach dem Schreiben in die Datei Ich bin Laden/es wieder für weitere Änderungen zu lesen. Hier ist das Problem, wenn ich versuche, die Anzahl der Zeilen mit getLastRowNum() zu bekommen, bekomme ich immer 0 als Ergebnis. Hier ist ein Stück Code:
SXSSFWorkbook wb = null;
try {
wb = new SXSSFWorkbook(new XSSFWorkbook(new FileInputStream(fileName)));
} catch (FileNotFoundException e) {e.printStackTrace();
} catch (IOException e) {e.printStackTrace();}
SXSSFSheet sheet = wb.getSheet(sheetName);
System.out.println(sheet.getLastRowNum());
Ergebnis ist 0! Ich habe versucht, meine eigene Methode mit dem Iterator zu erstellen, aber das gibt mir das gleiche Ergebnis.
Ich habe keine Fehlermeldungen und wenn Sie den Namen des Blattes (sheet.getSheetName()) überprüfen, gibt es den richtigen Namen, aber nicht die richtige Anzahl von Zeilen, obwohl die Excel-Datei viele einfache Zeilen hat.
Es funktioniert nur, wenn ich nicht in die Datei schreibe, die ich gerade erstellt habe. Wenn ich versuche, die Zeile zu bekommen Nummer vor dem Schreiben funktioniert es (ich erhalte die Anzahl der Zeilen, die ich gerade erstellt habe), aber nicht Wenn ich versuche, von einer vorhandenen Datei zu lesen – clex