עבודה עם אימות נתונים

עבודה עם אימות נתונים

עבודה עם אימות נתונים

Aspose.Cells FOSS for C++ supports adding cell-level data validation rules to worksheets via the Validation ו ValidationCollection שיעורים – The Classes 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;
}

סוגים של אימות

The ValidationType הרשימה מגדירה את הסוגים של הגבלות שניתן ליישם:

ValidationTypeתיאור
WholeNumberהגבלת ערך מלאה
Decimalנקודת המגבלה
Listרשימת דפיקות מתוך נוסחה או טווח
Dateהגבלת הערך של תאריך
TextLengthקצב אורך מוגבל
Customטופס מבוסס חוקי

סגנון אזהרה

The 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)

תגית: Pre-Save Workbook Validation

שיחת טלפון WorkbookValidator::ValidateForSave כדי לבצע בדיקת עקביות על מודל ספר העבודה לפני חיסכון.זה נקרא באופן אוטומטי על ידי Workbook::Save ניתן להזמין באופן עצמאי במהלך הפיתוח:

WorkbookValidator validator;
validator.ValidateForSave(workbook);

טיפים ושיטות טובות

  • תמיד להגדיר את שניהם SetFormula1 ו SetFormula2 על פי ההערכות של ה-Range (WholeNumber, Decimal, Date• הגדרת גבולות הנמוכים והגבוהים.
  • שימוש SetIgnoreBlank(true) כדי לאפשר לתאים ריקים לעבור את ההסמכה מבלי לגרום לטעות.
  • שיחת טלפון ValidationCollection::AreasOverlap לפני הוספת כלל חדש לבדוק אם אזורי ההסמכה על אותו לוח.
  • WorkbookValidator::ValidateForSave הוא נקרא פנימי על הצלה; להזמין אותו במהלך הפיתוח כדי לתפוס בעיות מוקדם.

בעיות נפוצות

נושאסיבהקבע
אימות שאינו מיושם לתאאזור לא הוסיףשיחת טלפון Validation::AddArea(area) עם היקף המטרה
Drop-down לא מראהSetInCellDropDown(false)סדנה SetInCellDropDown(true) רשימת אימותים
חוקים מעלשתי כללים מכסים את אותם תאים.שימוש AreasOverlap לזהות ולפתור סכסוכים
פגיעה ב-FALIDATEמודל אי-קונסמינציהבדוק ותקן את חוסר ההתאמה שדווח לפני חיסכון

סיכום התייחסות 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בדיקת עקביות מראש

ראה גם

 עברית