Jungs Ich benutze derzeit die POI 3.9-Bibliothek, um mit Excel-Dateien zu arbeiten. Ich kenne die getLastRowNum()
Funktion, die eine Reihe von Zeilen in einer Excel-Datei zurückgibt.Wie erhalten Sie Zeilenanzahl in einer Excel-Datei mit POI-Bibliothek?
Das einzige Problem ist getLastRowNum()
gibt eine Zahl mit der Zählung von 0
starten Also, wenn eine Excel-Datei verwendet die ersten drei Zeilen, getLastRowNum()
kehrt 2. Wenn eine Excel-Datei hat nur 1 Zeile, getLastRowNum()
kehrt 0.
Das Problem tritt auf, wenn die Excel-Datei vollständig leer ist. getLastRowNum()
gibt immer noch 0 zurück, sodass ich nicht feststellen kann, ob die Excel-Datei eine Datenzeile enthält oder leer ist.
Wie kann ich feststellen, ob eine Excel-Datei leer ist oder nicht?
+1 Marcias. Wenn man Zellen löscht, indem man einfach auf Löschen klickt, dann scheint es so, als ob die Zeilen noch physisch existieren und die alte Anzahl zurückgegeben wird. – anujin
Nun, ich denke, wenn Sie Zeilen zählen möchten, die tatsächlich einen nicht leeren Wert haben, müssen Sie selbst darüber iterieren. Ich bin mir nicht sicher, aber ich verstehe, dass diese Methode die Anzahl der Zeilen zurückgibt, die jemals "deklariert" wurden. – macias
WARNUNG: Wenn das Blatt leere Zeilen enthält, enthält getPhysicalNumberOfRows sie nicht in der Zählung, die zurückgegeben wird. GetLastRowNum macht aber auch genau das, was auf der Zunge steht.Um also über alle Zeilen zu iterieren, müssen Sie getLastRowNum + 1 als Obergrenze in Ihrer Iterationsschleife verwenden. Achten Sie darauf, Zeilen zu behandeln, die möglicherweise nicht existieren. –