Εργασία με την επικύρωση δεδομένων

Εργασία με την επικύρωση δεδομένων

Εργασία με την επικύρωση δεδομένων

Aspose.Cells FOSS for C++ supports adding cell-level data validation rules to worksheets via the Validation και ValidationCollection Τάξη - Η WorkbookValidator Η τάξη παρέχει μια προ-συντήρηση επαλήθευση συνέπειας.


Προσθέστε έναν κανόνα επικύρωσης

Επισκεφθείτε τη συλλογή επικύρωσης για ένα φύλλο εργασίας και προσθέστε μια νέα αρχή χρησιμοποιώντας ValidationCollection::Add().Προσδιορίστε τον τύπο, τη φόρμουλα και την περιοχή στόχου στο επιστραμμένο Validation Το αντικείμενο:

#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;

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

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

    v.SetType(ValidationType::WholeNumber);
    v.SetFormula1("1");
    v.SetFormula2("100");
    v.SetIgnoreBlank(true);
    v.SetInCellDropDown(false);
    v.SetInputTitle("Enter Value");
    v.SetInputMessage("Value must be between 1 and 100.");
    v.SetErrorTitle("Invalid Input");
    v.SetErrorMessage("Value is out of range.");
    v.SetShowInput(true);
    v.SetShowError(true);

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

    workbook.Save("validated.xlsx");
    return 0;
}

Τύποι επικυρώσεων

Η ValidationType Ο κατάλογος καθορίζει τα είδη των περιορισμών που μπορούν να εφαρμοστούν:

ValidationTypeΠεριγραφή
WholeNumberΟλοκληρωμένη αξία περιορισμού
DecimalΠυροβολισμοί περιορισμός
ListΚατάλογος αποσυνδέσεων από μια φόρμουλα ή εύρος
DateΗμερομηνία περιορισμού
TextLengthΣκληρή διάρκεια περιορισμού
CustomΟ κανόνας της φόρμουλας

Στυλ προειδοποίησης

Η ValidationAlertType Η κατάταξη ελέγχει τη συμπεριφορά που εμφανίζεται όταν η επικύρωση αποτυγχάνει:

AlertStyleσυμπεριφοράς
StopΚλείνει την είσοδο και εμφανίζει διάλογο σφάλματος
WarningΕμφάνιση προειδοποίησης: ο χρήστης μπορεί να αποδεχθεί ή να αρνηθεί
InformationΕμφάνιση ενός ενημερωτικού εργαλείου

Εισάγετε το στυλ συναγερμού με Validation::SetAlertStyle(ValidationAlertType).


Εγκρίσεις σε ένα κελί

Χρησιμοποιήστε ValidationCollection::GetValidationInCell(row, col) να βρει ποια κανόνα επικύρωσης ισχύει για ένα συγκεκριμένο κελί. nullptr Αν δεν ισχύει κανένας κανόνας.


Αφαίρεση κανόνων επικύρωσης

Αφαιρέστε μια επικύρωση από ένα συγκεκριμένο κύτταρο ή περιοχή εύρους:

CellArea area = CellArea::CreateCellArea("B2", "B10");
validations.RemoveArea(area);
// Or remove a single cell:
validations.RemoveACell(1, 1); // row=1, col=1 (0-based)

Προ-Συγχώρηση Βελτίωση Εργαστηρίου

Κλήση WorkbookValidator::ValidateForSave να εκτελέσει μια επαλήθευση συνέπειας στο μοντέλο του βιβλίου εργασίας πριν από την αποθήκευση. αυτό ονομάζεται αυτόματα με το Workbook::Save Μπορεί να προκληθεί ανεξάρτητα κατά τη διάρκεια της ανάπτυξης:

WorkbookValidator validator;
validator.ValidateForSave(workbook);

Συμβουλές και βέλτιστες πρακτικές

  • Πάντα να βάζεις και τα δύο SetFormula1 και SetFormula2 Για την επιλογή των διαφόρων τύπων (WholeNumber, Decimal, Date1) Να καθορίσουν τα κατώτερα και ανώτερα όρια.
  • Χρησιμοποιήστε SetIgnoreBlank(true) να επιτρέπουν σε κενά κύτταρα να περάσουν επικύρωση χωρίς να προκαλέσει ένα σφάλμα.
  • Κλήση ValidationCollection::AreasOverlap Πριν προσθέσετε μια νέα αρχή για να ελέγξετε για τις περιοχές επικύρωσης που υπερβαίνουν στο ίδιο φύλλο.
  • WorkbookValidator::ValidateForSave καλείται εσωτερικά για την αποθήκευση. να τον καλέσει κατά τη διάρκεια της ανάπτυξης για να συλλάβει τα προβλήματα νωρίς.

κοινά ζητήματα

ΘέμαΑιτίαΦΙΛΕΞΗ
Η επικύρωση δεν εφαρμόζεται στο κελίΤοποθεσία δεν προστίθεταιΚλήση Validation::AddArea(area) Με το στόχο της περιοχής
Δράση-Δεν δείχνειSetInCellDropDown(false)ΣΕΤΙΔΑ SetInCellDropDown(true) Για την επικύρωση της λίστας
Οι κανόνες υπερβαίνουνΔύο κανόνες καλύπτουν τα ίδια κύτταραΧρησιμοποιήστε AreasOverlap -Ανακαλύψτε και να επιλύσετε τις συγκρούσεις
Εξέλιξη αποτυγχάνειΜοντέλο ΑδιαφορίαΕξετάστε και διορθώστε την αναφερόμενη αντιστοιχία πριν από τη διατήρηση

Συνοπτική αναφορά API

Τάξη / ΜέθοδοςΠεριγραφή
ValidationCollection::Add()Προσθήκη νέας ίχνης επικύρωσης
ValidationCollection::GetValidationInCell(row, col)Βρείτε επικύρωση για ένα κελί
ValidationCollection::RemoveArea(area)Αφαιρέστε την επικύρωση από μια σειρά
ValidationCollection::RemoveACell(row, col)Απομακρύνει την επικύρωση από ένα κελί
ValidationCollection::AreasOverlapΕλέγξτε τις περιοχές επικύρωσης που υπερβαίνουν το επίπεδο
Validation::SetType(ValidationType)Εισάγετε τον τύπο επικύρωσης
Validation::SetFormula1(expr)Κατώτερη γραμμή ή πηγή λίστας
Validation::SetFormula2(expr)Σημειώνεται ανώτερος δεσμός
Validation::AddArea(area)Εφαρμόστε τον κανόνα σε μια σειρά
Validation::RemoveArea(area)Αφαιρέστε τον κανόνα από μια σειρά
Validation::SetAlertStyle(style)Εισαγωγή / προειδοποίηση / συμπεριφορά ενημέρωσης
WorkbookValidator::ValidateForSaveΠρο-συντήρηση Συνοχή Ελέγχου

Δείτε επίσης

 Ελληνικά