Comment ajouter la validation des données à un panneau de diffusion en C++

Comment ajouter la validation des données à un panneau de diffusion en C++

Aspose.Cells FOSS for C++ supports cell-level data validation rules that constrain what values users can enter in specific cells or ranges. The Validation, ValidationCollection,et WorkbookValidator Les classes composent l’API de validation.

Guide étape par étapes

Étape 1 : Démarrer la construction

cmake_minimum_required(VERSION 3.15)
project(DataValidation CXX)
set(CMAKE_CXX_STANDARD 17)

add_subdirectory(path/to/Aspose.Cells-FOSS-for-Cpp)
add_executable(DataValidation main.cpp)
target_link_libraries(DataValidation PRIVATE Aspose.Cells.Foss.Cpp)

Étape 2: Inclure les en-têtes requis

#include "aspose/cells_foss/Workbook.h"
#include "aspose/cells_foss/Worksheet.h"
#include "aspose/cells_foss/ValidationCollection.h"
#include "aspose/cells_foss/Validation.h"
#include "aspose/cells_foss/CellArea.h"

using namespace Aspose::Cells_FOSS;

Étape 3 : Accès à la collection de validation

Retrée le ValidationCollection Du feuille de travail :

int main() {
    Workbook workbook;
    Worksheet& sheet = workbook.GetWorksheets()[0];
    ValidationCollection& validations = sheet.GetValidations();
    return 0;
}

Étape 4 : Ajoutez une règle de validation

Appel à ValidationCollection::Add() et la configuration du retour Validation Objet :

int idx = validations.Add();
Validation& v = validations[idx];

v.SetType(ValidationType::WholeNumber);
v.SetFormula1("1");
v.SetFormula2("100");
v.SetIgnoreBlank(true);
v.SetInputTitle("Enter Quantity");
v.SetInputMessage("Enter a whole number between 1 and 100.");
v.SetErrorTitle("Invalid Input");
v.SetErrorMessage("Value must be between 1 and 100.");
v.SetShowInput(true);
v.SetShowError(true);
v.SetAlertStyle(ValidationAlertType::Stop);

Étape 5 : appliquer la règle à une gamme

Ajouter la validation à A CellArea Utiliser Validation::AddArea:

CellArea area = CellArea::CreateCellArea("B2", "B20");
v.AddArea(area);

Étape 6 : enregistrer le classeur

workbook.Save("validated.xlsx");
workbook.Dispose();

Étape 7 : Rendez la validation pré-save (optionnelle)

Appel à WorkbookValidator::ValidateForSave Pour le développement de la catégorie avant d’économiser :

WorkbookValidator validator;
validator.ValidateForSave(workbook);
workbook.Save("validated.xlsx");

Problèmes communs et fixations

Validation non visible dans le fichier sauvé assure Validation::AddArea(area) Une règle sans zone associée n’est pas sérieuse.

Liste de descentes ne montrant pas Sélection v.SetInCellDropDown(true) et s’établir v.SetType(ValidationType::List) avec SetFormula1 indiquer une valeur de range ou des valeurs séparées.

Les zones de validation surcharge Utiliser ValidationCollection::AreasOverlap Pour vérifier les conflits avant d’ajouter une nouvelle règle. Les règles de surcharge peuvent produire des comportements inattendus dans Excel.

Message d’entrée ne apparaît pas Assurez-vous les deux SetShowInput(true) et SetInputMessage("...") Une ligne de message vide supprime le moment d’entrée même si vous êtes SetShowInput(true) On l’appelle !.

ValidateForSave Rapport d’erreurs Les causes courantes comprennent les limites de formule manquantes pour les validations de type range et les coordonnées d’espace cellulaire invalides.

Questions fréquemment posées

Quels types de validation sont soutenus ?

Le ValidationType L’enumer inclut : WholeNumber, Decimal, List, Date, TextLength, Custom,et Any.

Puis-je supprimer une règle de validation d’une gamme ?

Oui, utilisez ValidationCollection::RemoveArea(area) pour supprimer la règle d’une gamme, ou RemoveACell(row, col) pour une seule cellule.

Puis-je appliquer la même règle de validation à plusieurs rangs?

Oui, appeler Validation::AddArea(area) Plusieurs fois dans la même Validation Il s’agit de l’application à des rangs supplémentaires.

Quels types d’alerte sont disponibles ?

ValidationAlertType Il comprend : Stop (l’entrée est interdite), Warning (Il est prévenu mais permet l’entrée) et Information (Seulement un outil d’information).

La validation fonctionne-t-elle à temps plein, ou seulement dans Excel?

Les règles de validation des données sont stockées dans le fichier XLSX et appliquées par Excel ou un lecteur compatible.La bibliothèque n’évalue pas les restrictions de la validité au cours du temps d’exercice lorsque les valeurs sont définies programmablement.

Voir aussi

 Français