Validation de données
Types de validation des données et exécution
La validation des données est la capacité de définir des règles relatives aux données saisies dans une feuille de calcul. Par exemple, utilisez la validation pour vous assurer qu’une colonne étiquetée DATE ne contient que des dates, ou qu’une autre colonne ne contient que des chiffres. Vous pourriez même vous assurer qu’une colonne étiquetée DATE ne contient que des dates dans une certaine plage. Avec la validation des données, vous pouvez contrôler ce qui est saisi dans les cellules de la feuille de calcul.
Microsoft Excel prend en charge plusieurs types de validation des données. Chaque type est utilisé pour contrôler le type de données entrées dans une cellule ou une plage de cellules. Ci-dessous, des extraits de code illustrent comment valider que:
- Les chiffres sont des entiers, c’est-à-dire qu’ils n’ont pas de partie décimale.
- Les nombres décimaux suivent la structure correcte. L’exemple de code définit qu’une plage de cellules doit avoir deux décimales.
- Les valeurs sont restreintes à une liste de valeurs. La validation de liste définit une liste distincte de valeurs qui peuvent s’appliquer à une cellule ou une plage de cellules.
- Les dates se trouvent dans une plage spécifique.
- Une heure se situe dans une plage spécifique.
- Un texte a une longueur de caractères donnée.
Validation des données avec Microsoft Excel
Pour créer des validations avec Microsoft Excel:
- Dans une feuille de calcul, sélectionnez les cellules auxquelles vous voulez appliquer la validation.
- Dans le menu Données, sélectionnez Validation. La boîte de dialogue de validation s’affichera.
- Cliquez sur l’onglet Paramètres et saisissez les paramètres.
Validation de données avec Aspose.Cells for Node.js via C++
La validation des données est une fonctionnalité puissante pour valider les informations saisies dans les feuilles de calcul. Avec la validation des données, les développeurs peuvent fournir aux utilisateurs une liste de choix, restreindre les saisies de données à un type ou une taille spécifique, etc.
Dans Aspose.Cells for Node.js via C++, chaque classe Worksheet possède une méthode getValidations() qui représente une collection d’objets Validation. Pour configurer la validation, définissez certaines propriétés de la classe Validation comme suit:
- Type – représente le type de validation, qui peut être spécifié en utilisant l’une des valeurs prédéfinies dans l’énumération ValidationType.
- Opérateur – représente l’opérateur à utiliser dans la validation, qui peut être spécifié en utilisant l’une des valeurs prédéfinies dans l’énumération OperatorType.
- Formule1 : représente la valeur ou l’expression associée à la première partie de la validation des données.
- Formule2 : représente la valeur ou l’expression associée à la deuxième partie de la validation des données.
Lorsque les propriétés de l’objet Validation ont été configurées, les développeurs peuvent utiliser la structure CellArea pour stocker des informations sur la plage de cellules qui sera validée à l’aide de la validation créée.
Types de validation des données
L’énumération ValidationType a les membres suivants :
Nom du membre | Description |
---|---|
AnyValue | Désigne une valeur de n’importe quel type. |
WholeNumber | Indique le type de validation pour les nombres entiers. |
Decimal | Indique le type de validation pour les nombres décimaux. |
List | Indique le type de validation pour la liste déroulante. |
Date | Indique le type de validation pour les dates. |
Time | Indique le type de validation pour l’heure. |
TextLength | Indique le type de validation pour la longueur du texte. |
Custom | Indique le type de validation personnalisée. |
Validation de données pour les nombres entiers
Avec ce type de validation, les utilisateurs ne peuvent entrer que des nombres entiers dans une plage spécifiée dans les cellules validées. Les exemples de code qui suivent montrent comment implémenter le type de validation NombreEntier. L’exemple crée la même validation de données en utilisant Aspose.Cells for Node.js via C++ que celle que nous avons créée avec Microsoft Excel ci-dessus.
Validation de données par liste
Ce type de validation permet à l’utilisateur d’entrer des valeurs à partir d’une liste déroulante. Il fournit une liste: une série de lignes contenant des données. Dans l’exemple, une deuxième feuille de calcul est ajoutée pour contenir la source de la liste. Les utilisateurs ne peuvent sélectionner que des valeurs dans la liste. La zone de validation est la plage de cellules A1:A5 dans la première feuille de calcul.
Il est important ici de définir la propriété Validation.setInCellDropDown(boolean) sur true.
Validation de données pour les dates
Avec ce type de validation, les utilisateurs saisissent des valeurs de date dans une plage spécifiée, ou répondant à des critères spécifiques, dans les cellules validées. Dans l’exemple, l’utilisateur est limité à saisir des dates entre 1970 et 1999. Ici, la zone de validation est la cellule B1.
Validation des données de temps
Avec ce type de validation, les utilisateurs peuvent saisir des heures dans une plage spécifiée, ou répondant à certains critères, dans les cellules validées. Dans l’exemple, l’utilisateur est limité à saisir des heures entre 09h00 et 11h30. Ici, la zone de validation est la cellule B1.
Validation de la longueur du texte
Avec ce type de validation, les utilisateurs peuvent saisir des valeurs textuelles d’une longueur spécifiée dans les cellules validées. Dans l’exemple, l’utilisateur est limité à saisir des valeurs de chaîne ne dépassant pas 5 caractères. La zone de validation est la cellule B1.
Règles de validation des données
Lors de l’implémentation des validations, la validation peut être vérifiée en assignant différentes valeurs dans les cellules. Cell.getValidationValue() peut être utilisé pour récupérer le résultat de la validation. L’exemple suivant montre cette fonctionnalité avec différentes valeurs. Le fichier d’échantillon peut être téléchargé via le lien suivant pour test :
sampleDataValidationRules.xlsx
Vérifier si la validation dans la cellule est une liste déroulante
Comme nous l’avons vu, il existe de nombreux types de validations qui peuvent être implémentés dans une cellule. Si vous souhaitez vérifier si la validation est un menu déroulant ou non, la méthode Validation.getInCellDropDown() peut être utilisée pour tester cela. Le code d’échantillon ci-dessous montre l’utilisation de cette propriété. Un fichier d’échantillon pour tester peut être téléchargé via le lien suivant :
Ajouter une CellArea à une validation existante
Il peut y avoir des cas où vous souhaitez ajouter CellArea à Validation existantes. Lorsque vous ajoutez CellArea en utilisant Validation.addArea(CellArea), Aspose.Cells vérifie toutes les zones existantes pour voir si la nouvelle zone existe déjà. Si le fichier contient un grand nombre de validations, cela impacte la performance. Pour éviter cela, l’API fournit la méthode Validation.addArea(CellArea, boolean, boolean). Le paramètre checkIntersection indique s’il faut vérifier l’intersection d’une zone donnée avec les zones de validation existantes. La mise à false désactivera la vérification des autres zones. Le paramètre checkEdge indique s’il faut vérifier les zones appliquées. Si la nouvelle zone devient la zone en haut à gauche, les paramètres internes sont reconstruit. Si vous êtes certain que la nouvelle zone n’est pas en haut à gauche, vous pouvez définir ce paramètre sur false.
Le code suivant illustre l’utilisation de la méthode Validation.addArea(CellArea, boolean, boolean) pour ajouter un CellArea à Validation existants.
Les fichiers Excel source et de sortie sont joints pour référence.