Veri Validasyonu ile Çalışma

Veri Validasyonu ile Çalışma

Veri Validasyonu ile Çalışma

Aspose.Cells FOSS for C++ supports adding cell-level data validation rules to worksheets via the Validation ve ValidationCollection Sınıflar - The WorkbookValidator Sınıf önceden kurtarma tutarlılık kontrolü sağlar.


Validasyon Kuralını Ekleyin

Bir çalışma sayfası için doğrulama koleksiyonuna erişin ve yeni bir kural ekleyin. ValidationCollection::Add().Tip, formül ve hedef alanı iade edilen üzerine ayarlayın. Validation nesne :

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

Validasyon türleri

O zamanlar ValidationType listede uygulanacak kısıtlamaların türleri belirlenir:

ValidationTypeDescription
WholeNumberTüm değer sınırlaması
DecimalFloating Point Sınırlama
ListDrop-down listesi bir formül veya aralıktan
DateTarih Değerleri Sınırlı
TextLengthUzunluk sınırlaması
CustomFormül tabanlı kural

Alarm tarzı

O zamanlar ValidationAlertType listeler, doğrulama başarısız olduğunda gösterilen davranışları kontrol eder:

AlertStyleBehavior
Stopgiriş bloklar ve bir hata diyaloğu gösterir
WarningBir uyarı gösterir; kullanıcı kabul edebilir veya reddedebilir
InformationBilgi Teknolojisi Araçları Göster

Alarm tarzı ile ayarlayın. Validation::SetAlertStyle(ValidationAlertType).


Bir hücrede doğrulama isteği

Kullanım ValidationCollection::GetValidationInCell(row, col) Hangi doğrulama kuralı belirli bir hücre için geçerlidir. geri dönüşler nullptr Kural yoksa.


Validasyon Kuralları kaldırma

Belirli bir hücre veya aralık alanından bir doğrulama kaldırın:

CellArea area = CellArea::CreateCellArea("B2", "B10");
validations.RemoveArea(area);
// Or remove a single cell:
validations.RemoveACell(1, 1); // row=1, col=1 (0-based)

Önceki yazı: Savunma Workbook Validation

Call WorkbookValidator::ValidateForSave Tasarruf yapmadan önce çalışma kitabı modelinde tutarlılık kontrolü çalıştırmak için. bu otomatik olarak adlandırılır Workbook::Save Ancak, geliştirme sırasında bağımsız olarak talep edilebilir:

WorkbookValidator validator;
validator.ValidateForSave(workbook);

İpuçları ve En İyi Uygulamalar

  • Her zaman her ikisini de ayarlayın SetFormula1 ve SetFormula2 Sürücüler için (WholeNumber, Decimal, Date• Aşağı ve üst sınırları belirlemek.
  • Kullanım SetIgnoreBlank(true) boş hücrelerin bir hata yapmadan doğrulama geçmesine izin vermek.
  • Call ValidationCollection::AreasOverlap Yeni bir kural eklemeden önce, aynı sayfada geçerlilik alanlarının aşırı derecede geçişini kontrol etmek için.
  • WorkbookValidator::ValidateForSave içeride kurtarma çağrısı yapılır; gelişme sırasında sorunları erken yakalamak için çağırır.

ortak sorunlar

IssueCauseFix
- Hücreye Uygulanmamış ValidasyonBölge eklemediCall Validation::AddArea(area) Hedef aralığı ile
Drop-down gösterilmezSetInCellDropDown(false)Setleri SetInCellDropDown(true) Listede Validasyonlar
Kurallar aşırıİki kural aynı hücreleri kapsar.Kullanım AreasOverlap çatışmaların tespit edilmesi ve çözülmesi
Sürücüsüzlük başarısızlıkModel tutarsızlığıTasarruf Öncesi bildirilen tutarsızlıkları incelemek ve düzeltmek

API Referans Özetleri

Sınıf / YöntemDescription
ValidationCollection::Add()Yeni bir boş doğrulama kuralı eklemek
ValidationCollection::GetValidationInCell(row, col)Bir hücre için bir doğrulama bulmak
ValidationCollection::RemoveArea(area)Bir aralıktan geçiş yaptırın
ValidationCollection::RemoveACell(row, col)Bir hücrenin doğrulamasını kaldırın
ValidationCollection::AreasOverlapKontrolü aşan valide alanları için
Validation::SetType(ValidationType)Validasyon Tipi Belirlenir
Validation::SetFormula1(expr)Aşağıdaki link veya listelere ayarlayın
Validation::SetFormula2(expr)Top Bağlantı
Validation::AddArea(area)Bir Range’a kural uygulayın
Validation::RemoveArea(area)Bir Range’dan kural çıkarın
Validation::SetAlertStyle(style)Sıkıştırma / uyarı / bilgi davranışları
WorkbookValidator::ValidateForSaveÖnceden kurtarma tutarlılık kontrolü

See Also

 Türkçe