العمل مع التحقق من صحة البيانات

العمل مع التحقق من صحة البيانات

العمل مع التحقق من صحة البيانات

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, Date) لتحديد الحدود السفلية والعليا.
  • استخدام 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التحقق من الاتساق قبل الحفاظ عليه

انظر أيضا

 العربية