Détection des feuilles de calcul vides

Vérifier le Cells peuplé

Les feuilles de calcul peuvent avoir une ou plusieurs cellules remplies de valeurs où une valeur peut être simple (texte, numérique, date/heure) ou une formule ou une valeur basée sur une formule. Dans un tel cas, il est facile de détecter si une feuille de calcul donnée est vide ou non. Il ne nous reste plus qu’à vérifierCells.MaxDataRow ou alorsCells.MaxDataColumnPropriétés. Si les propriétés susmentionnées renvoient des valeurs nulles ou positives, cela signifie qu’une ou plusieurs cellules ont été remplies, cependant, si l’une de ces propriétés renvoie -1, cela indique qu’aucune des cellules n’a été remplie dans la feuille de calcul donnée.

Vérifier vide initialisé Cells

Toutes les cellules contenant des valeurs sont automatiquement initialisées, cependant, il est possible qu’une feuille de calcul contienne des cellules auxquelles seule la mise en forme est appliquée. Dans un tel scénario, leCells.MaxDataRow ou alorsCells.MaxDataColumnproperties renverra -1 indiquant l’absence de toute valeur peuplée, mais les cellules initialisées en raison du formatage des cellules ne peuvent pas être détectées à l’aide de cette approche. Afin de vérifier si une feuille de calcul contient des cellules initialisées vides, il est conseillé d’utiliser la fonctionIterator.hasNext méthode sur l’itérateur acquis de la collection Cells. Si laiterator.hasNextLa méthode renvoie true, cela signifie qu’il y a une ou plusieurs cellules initialisées dans la feuille de calcul donnée.

Vérifier les formes

Il est possible qu’une feuille de calcul donnée n’ait pas de cellules remplies, cependant, elle peut contenir des formes et des objets tels que des contrôles, des graphiques, des images, etc. Si nous devons vérifier si une feuille de calcul contient une forme, nous pouvons le faire en inspectant leShapeCollection.Countla propriété. Toute valeur positive indique la présence de forme(s) dans la feuille de calcul.

Exemple de programmation

// 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");
}
}
}