Leere Arbeitsblätter erkennen
Suchen Sie nach besetzt Cells
Arbeitsblätter können eine oder mehrere Zellen haben, die mit Werten gefüllt sind, wobei ein Wert einfach (Text, numerisch, Datum/Uhrzeit) oder eine Formel oder ein formelbasierter Wert sein kann. In einem solchen Fall ist leicht zu erkennen, ob ein bestimmtes Arbeitsblatt leer ist oder nicht. Alles, was wir überprüfen müssen, ist dieCells.MaxDataRow oderCells.MaxDataColumnEigenschaften. Wenn die oben genannten Eigenschaften Null oder positive Werte zurückgeben, bedeutet dies, dass eine oder mehrere Zellen ausgefüllt wurden. Wenn jedoch eine dieser Eigenschaften -1 zurückgibt, bedeutet dies, dass keine der Zellen im angegebenen Arbeitsblatt ausgefüllt wurde.
Prüfen Sie, ob Cells leer initialisiert ist
Alle Zellen mit Werten werden automatisch initialisiert, es besteht jedoch die Möglichkeit, dass ein Arbeitsblatt Zellen enthält, auf die nur eine Formatierung angewendet wurde. In einem solchen Szenario ist dieCells.MaxDataRow oderCells.MaxDataColumnproperties gibt -1 zurück, was das Fehlen ausgefüllter Werte anzeigt, aber initialisierte Zellen aufgrund der Zellenformatierung können mit diesem Ansatz nicht erkannt werden. Um zu überprüfen, ob ein Arbeitsblatt leere initialisierte Zellen hat, wird empfohlen, die zu verwendenIterator.hasNext Methode auf Iterator, erworben aus der Sammlung Cells. Wenn dieiterator.hasNext-Methode gibt true zurück, was bedeutet, dass das angegebene Arbeitsblatt eine oder mehrere initialisierte Zellen enthält.
Suchen Sie nach Formen
Es ist möglich, dass ein bestimmtes Arbeitsblatt keine gefüllten Zellen hat, es kann jedoch Formen und Objekte wie Steuerelemente, Diagramme, Bilder usw. enthalten. Wenn wir überprüfen müssen, ob ein Arbeitsblatt eine Form enthält, können wir dies tun, indem wir die untersuchenShapeCollection.CountEigentum. Jeder positive Wert zeigt das Vorhandensein von Formen im Arbeitsblatt an.
Programmierbeispiel
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(CheckForShapes.class) + "TechnicalArticles/"; | |
// Create an instance of Workbook and load an existing spreadsheet | |
Workbook workbook = new Workbook(dataDir + "SampleCheckCells.xlsx"); | |
// Loop over all worksheets in the workbook | |
for (int i = 0; i < workbook.getWorksheets().getCount(); i++) { | |
Worksheet worksheet = workbook.getWorksheets().get(i); | |
// Check if worksheet has populated cells | |
if (worksheet.getCells().getMaxDataRow() != -1) { | |
System.out.println(worksheet.getName() + " is not empty because one or more cells are populated"); | |
} | |
// Check if worksheet has shapes | |
else if (worksheet.getShapes().getCount() > 0) { | |
System.out.println(worksheet.getName() + " is not empty because there are one or more shapes"); | |
} | |
// Check if worksheet has empty initialized cells | |
else { | |
Range range = worksheet.getCells().getMaxDisplayRange(); | |
Iterator rangeIterator = range.iterator(); | |
if (rangeIterator.hasNext()) { | |
System.out.println(worksheet.getName() + " is not empty because one or more cells are initialized"); | |
} else { | |
System.out.println(worksheet.getName() + " is empty"); | |
} | |
} | |
} |