Validation de données
Microsoft Excel propose de bonnes fonctionnalités pour filtrer automatiquement ou valider les données de la feuille de calcul.
Validation des données est la capacité de définir des règles concernant les données saisies sur une feuille de calcul. Par exemple, utilisez la validation pour garantir qu’une colonne libellée DATE ne contient que des dates, ou qu’une autre colonne ne contient que des nombres. Vous pourriez même vous assurer qu’une colonne libellé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. Aspose.Cells prend en charge pleinement la validation des données de Microsoft Excel et les fonctionnalités de filtre automatique. Cet article explique comment utiliser les fonctionnalités dans Microsoft Excel et comment les coder en utilisant Aspose.Cells.
Types de validation des données et exécution
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 numéros sont entiers, c’est-à-dire qu’ils n’ont pas de partie décimale.
- Les nombres décimaux suivent la bonne structure. 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 être appliquées à une cellule ou une plage de cellules.
- Les dates tombent dans une plage spécifique.
- Le temps se situe dans une plage spécifique.
- Un texte est dans une longueur de caractère 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’affiche.
-
Cliquez sur l’onglet Paramètres et saisissez les paramètres comme indiqué ci-dessous.
Paramètres de validation des données
Validation des données avec Aspose.Cells
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, chaque classe de feuille de calcul a un objet Validations qui représente une collection d’objets Validation. Pour configurer la validation, définissez certaines des propriétés de la classe Validation :
- Type : représente le type de validation, qui peut être spécifié en utilisant l’une des valeurs prédéfinies de l’énumération ValidationType.
- Operator : représente l’opérateur à utiliser dans la validation, qui peut être spécifié en utilisant l’une des valeurs prédéfinies de l’énumération OperatorType.
- Formula1 : représente la valeur ou l’expression associée à la première partie de la validation des données.
- Formula2 : 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 en utilisant la validation créée.
Types de validation des données
La validation des données vous permet de créer des règles métier dans chaque cellule de sorte que les entrées incorrectes entraînent des messages d’erreur. Les règles métier sont les politiques et procédures qui régissent le fonctionnement d’une entreprise. Aspose.Cells prend en charge tous les types importants de validation des données.
L’énumération ValidationType comprend les membres suivants:
Nom du membre | Description |
---|---|
ANY_VALUE | Désigne une valeur de n’importe quel type. |
WHOLE_NUMBER | Désigne le type de validation pour les nombres entiers. |
DECIMAL | Désigne le type de validation pour les nombres décimaux. |
LIST | Désigne le type de validation pour une liste déroulante. |
DATE | Désigne le type de validation pour les dates. |
TIME | Désigne le type de validation pour l’heure. |
TEXT_LENGTH | Désigne le type de validation pour la longueur du texte. |
CUSTOM | Désigne le type de validation personnalisée. |
Exemple de programmation: Validation des données de nombres entiers
Avec ce type de validation, les utilisateurs ne peuvent saisir que des nombres entiers dans une plage spécifiée dans les cellules validées. Les exemples de code suivants montrent comment implémenter le type de validation WHOLE_NUMBER. L’exemple crée la même validation des données en utilisant Aspose.Cells que celle créée à l’aide de Microsoft Excel ci-dessus.
Exemple de programmation: Validation des données décimales
Avec ce type de validation, l’utilisateur peut saisir des nombres décimaux dans les cellules validées. Dans l’exemple, l’utilisateur est limité à saisir uniquement des valeurs décimales et la zone de validation est A1:A10.
Exemple de programmation: Validation des données de liste
Ce type de validation permet à l’utilisateur de saisir des valeurs à partir d’une liste déroulante. Il fournit une liste: une série de lignes contenant des données. Les utilisateurs peuvent uniquement sélectionner 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 sur true.
Exemple de programmation : Validation des données de date
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.
Exemples de programmation : Validation des données de l’heure
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.
Exemples de programmation : 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
Lorsque les validations des données sont implémentées, la validation peut être vérifiée en attribuant différentes valeurs aux cellules. Cell.GetValidationValue() peut être utilisé pour obtenir le résultat de validation. L’exemple suivant illustre cette fonctionnalité avec différentes valeurs. Le fichier d’exemple peut être téléchargé via le lien suivant pour les tests :
SampleDataValidationRules.xlsx
Code d’exemple
Vérifier si la validation dans une cellule est un menu déroulant
Comme nous l’avons vu, il existe de nombreux types de validations qui peuvent être implémentés dans une cellule. Si vous voulez vérifier si la validation est un menu déroulant ou non, la propriété Validation.InCellDropDown peut être utilisée pour le tester. Le code d’exemple suivant illustre l’utilisation de cette propriété. Le fichier d’exemple pour les tests peut être téléchargé via le lien suivant :
sampleDataValidationRules.xlsx
Ajouter une CellArea à une validation existante
Il peut arriver que vous souhaitiez ajouter une CellArea à une Validation existante. Lorsque vous ajoutez une CellArea en utilisant Validation.AddArea(CellArea 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 affecte les performances. Pour surmonter cela, l’API fournit la méthode Validation.AddAreaCellArea cellArea, bool checkIntersection, bool checkEdge). Le paramètre checkIntersection indique s’il faut vérifier l’intersection d’une zone donnée avec les zones de validation existantes. Le définir sur false désactive 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 reconstruits. Si vous êtes sûr que la nouvelle zone n’est pas la zone en haut à gauche, vous pouvez définir ce paramètre sur false.
Le code suivant illustre l’utilisation de la méthode Validation.AddAreaCellArea cellArea, bool checkIntersection, bool checkEdge) pour ajouter une nouvelle CellArea à une Validation existante.
Les fichiers Excel source et de sortie sont joints pour référence.