کار با اعتباربخشی داده ها

کار با اعتباربخشی داده ها

کار با اعتباربخشی داده ها

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;
}

نوع اعتباربخشی

و این ValidationType در این فهرست نوع محدودیت هایی که می توان اعمال کرد را تعریف می کنیم:

ValidationTypeDescription
WholeNumberمحدودیت ارزش کامل
Decimalنقطه محدودیت پرواز
Listلیست پایین از فرمول یا محدوده
Dateمحدودیت تاریخ
TextLengthمحدودیت طولانی مدت
Customفرمول مبتنی بر قاعده

سبک هشدار دهنده

و این ValidationAlertType فهرست رفتار نشان داده شده در صورت شکست تایید را کنترل می کند:

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

پیش ذخیره کتاب کار اعتباربخشی

Call WorkbookValidator::ValidateForSave برای انجام یک بررسی سازگاری در مدل کتاب کار قبل از صرفه جویی.این به طور خودکار توسط Workbook::Save اما می توان به طور مستقل در طول توسعه درخواست کرد:

WorkbookValidator validator;
validator.ValidateForSave(workbook);

راهنمایی ها و بهترین شیوه ها

  • همیشه هر دو را تنظیم کنید. SetFormula1 و SetFormula2 برای ثبت نام در محدوده (WholeNumber, Decimal, Dateبرای تعیین محدودیت های پایین و بالا.
  • استفاده از SetIgnoreBlank(true) اجازه دادن به سلول های خالی برای گذراندن اعتبار بدون ایجاد یک خطا.
  • Call ValidationCollection::AreasOverlap قبل از اضافه کردن یک قاعده جدید برای بررسی مناطق تایید بیش از حد در همان ورق.
  • WorkbookValidator::ValidateForSave به طور داخلی در نجات فراخوانده می شود؛ آن را در طول توسعه برای گرفتن مشکلات زود است.

مسائل مشترک

IssueCauseاصلاحی
تایید در سلول اعمال نمی شودمنطقه اضافه نشدهCall Validation::AddArea(area) با هدف قرار دادن محدوده
دانلود بدون نمایشSetInCellDropDown(false)تنظیمات SetInCellDropDown(true) برای اعتباربخشی لیست
قوانین فراواندو قاعده شامل همان سلول ها می شود.استفاده از AreasOverlap برای شناسایی و حل اختلافات
فایده های نقدیمدل عدم سازگاریبررسی و اصلاح عدم سازگاری گزارش شده قبل از صرفه جویی

API خلاصه ای از ارجاعات

کلاس / روشDescription
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بررسی پیش ذخیره سازی

See Also

 فارسی