Πώς να προσθέσετε την επικύρωση δεδομένων σε ένα φύλλο διασποράς στο 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,και WorkbookValidator Οι τάξεις αποτελούν την API επικύρωσης.
Βήμα προς βήμα οδηγός
Βήμα 1: Εισάγετε το κτίριο
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)Βήμα 2: Προσθέστε τις απαιτούμενες καμπάνες
#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;Βήμα 3: Πρόσβαση στην συλλογή επικύρωσης
Αποκτήστε το ValidationCollection Από το βιβλίο εργασίας:
int main() {
Workbook workbook;
Worksheet& sheet = workbook.GetWorksheets()[0];
ValidationCollection& validations = sheet.GetValidations();
return 0;
}Βήμα 4: Προσθέστε έναν κανόνα επικύρωσης
Κλήση ValidationCollection::Add() και να επαναλάβει την επιστροφή του Validation Το αντικείμενο:
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);Βήμα 5: Εφαρμόστε τον κανόνα σε ένα εύρος
Εισάγετε την επικύρωση σε ένα CellArea Χρησιμοποιώντας Validation::AddArea:
CellArea area = CellArea::CreateCellArea("B2", "B20");
v.AddArea(area);Βήμα 6: Αποθηκεύστε το βιβλίο εργασίας
workbook.Save("validated.xlsx");
workbook.Dispose();Βήμα 7: Εκτελέστε την προ-Save Validation (επιλεγμένη)
Κλήση WorkbookValidator::ValidateForSave κατά τη διάρκεια της ανάπτυξης για να συλλάβει τα προβλήματα μοντέλου πριν από την εξοικονόμηση:
WorkbookValidator validator;
validator.ValidateForSave(workbook);
workbook.Save("validated.xlsx");Κοινά προβλήματα και τακτοποιήσεις
Η επικύρωση δεν είναι ορατή σε αποθηκευμένο αρχείο Ασφάλεια Validation::AddArea(area) Ο κανόνας που δεν έχει συνδεδεμένη περιοχή δεν είναι σειριασμένος.
Η λίστα Drop-down δεν εμφανίζει ΣΕΤΙΔΑ v.SetInCellDropDown(true) και Set v.SetType(ValidationType::List) Με SetFormula1 να υποδεικνύουν μια σειρά ή χωρισμένες τιμές.
Περιοχές επικύρωσης Χρησιμοποιήστε ValidationCollection::AreasOverlap Για να ελέγξετε τις συγκρούσεις πριν προσθέσετε μια νέα κανόνα. οι κανόνες που υπερκαλυφτούν μπορεί να παράγουν απροσδόκητη συμπεριφορά στο Excel.
Το μήνυμα δεν εμφανίζεται Βεβαιωθείτε και οι δύο SetShowInput(true) και SetInputMessage("...") Μια κενή γραμμή μηνυμάτων καταργεί την ταχύτητα εισόδου, ακόμη και αν η SetShowInput(true) καλείται .
ValidateForSave Λάθη αναφοράς Οι κοινές αιτίες περιλαμβάνουν την απουσία ορίων φόρμουλα για επικύρωση τύπου εύρους και τις αναπηρίες συντονισμών περιοχής κυττάρων.
Συχνές ερωτήσεις
Ποια είδη επικύρωσης υποστηρίζονται;?
Η ValidationType Η κατάταξη περιλαμβάνει: WholeNumber, Decimal, List, Date, TextLength, Custom,και Any.
Μπορώ να αφαιρέσω έναν κανόνα επικύρωσης από μια περιοχή;?
Ναι, χρησιμοποιήστε το ValidationCollection::RemoveArea(area) να αφαιρέσει τον κανόνα από μια περιοχή, ή RemoveACell(row, col) για ένα μόνο κελί.
Μπορώ να εφαρμόσω τον ίδιο κανόνα επικύρωσης σε πολλαπλές κλάσεις;?
Ναι, καλέστε Validation::AddArea(area) Πολλές φορές στην ίδια Validation να το εφαρμόσουν σε πρόσθετες κλίμακες.
Ποια είδη συναγερμού είναι διαθέσιμα;?
ValidationAlertType Περιλαμβάνει: Stop (αποκλείσεις εισόδου σε αθέμιτο επίπεδο), Warning (Αναγγέλλει αλλά επιτρέπει την είσοδο) και Information (Μόνο για την ενημέρωση του κλάδου).
Η επικύρωση λειτουργεί σε χρόνο εργασίας ή μόνο στο Excel;?
Οι κανόνες επικύρωσης δεδομένων αποθηκεύονται στο αρχείο XLSX και εφαρμόζονται από το Excel ή έναν συμβατό αναγνώστη.Η βιβλιοθήκη δεν αξιολογεί τους περιορισμούς επικυρώσεως σε χρόνο λειτουργίας όταν οι τιμές ρυθμίζονται προγραμματικά.