כיצד להוסיף אימות נתונים ל- 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: להגשים את הכלל על גבול
להוסיף את ההסמכה ל- A CellArea שימוש Validation::AddArea:
CellArea area = CellArea::CreateCellArea("B2", "B20");
v.AddArea(area);שלב 6: שמירת חוברת העבודה
workbook.Save("validated.xlsx");
workbook.Dispose();שלב 7: הפעל את אימות ההצלה הקדמית (אופציונלי)
שיחת טלפון 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 דיווח שגיאות הסיבות הנפוצות כוללות גבולות טופס חסרים עבור אימות סוג מגוון וקיוונים אזור תא פגום.
שאלות נפוצות שואלים
אילו סוגים של אימות נתמכים?
The 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 או קורא תואם.הספרייה אינה מעריכה את הגבלות ההסתמכות בזמן העבודה כאשר הערכים מוגדרים בתכנות.