כיצד להוסיף אימות נתונים ל- C++

כיצד להוסיף אימות נתונים ל- 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 או קורא תואם.הספרייה אינה מעריכה את הגבלות ההסתמכות בזמן העבודה כאשר הערכים מוגדרים בתכנות.

ראה גם

 עברית