.NET'te veri doğrulama ile nasıl çalışılır
Aspose.Cells FOSS for .NET enables you to add data validation rules to cell ranges through Worksheet.Validations (A) A ValidationCollection* Çağrı Add(CellArea) oluşturmak için a Validation nesne ve ayarları Type Kullanımı ValidationType.Desteklenen türler de dahil olmak üzere List, Decimal,ve Custom.• Install ile dotnet add package Aspose.Cells_FOSS.
Adım-Adım Rehberi
Adım 1: Paketi Kurun
dotnet add package Aspose.Cells_FOSSAdım 2: Namespace İthalatı
using Aspose.Cells_FOSS;Adım 3: Bir liste Dropdown doğrulama eklemek
A oluşturmak CellArea ile CellArea.CreateCellArea(), eklemek için Worksheet.Validations,ve set ValidationType.List Bir komma listesi ile birlikte, Formula1.
using Aspose.Cells_FOSS;
var wb = new Workbook();
var ws = wb.Worksheets[0];
// Dropdown list for A1:A10
var listVal = ws.Validations[ws.Validations.Add(CellArea.CreateCellArea("A1", "A10"))];
listVal.Type = ValidationType.List;
listVal.Formula1 = "\"Open,In Progress,Closed\"";
listVal.InCellDropDown = true;
listVal.IgnoreBlank = true;
listVal.InputTitle = "Status";
listVal.InputMessage = "Choose a status from the dropdown";
wb.Save("list-validation.xlsx");
Console.WriteLine("List validation added.");Adım 4: Numerik aralık doğrulama eklemek
Kullanım ValidationType.Decimal ile OperatorType.Between ve Formula1/Formula2 Numerik girişleri sınırlamak.
using Aspose.Cells_FOSS;
var wb = new Workbook();
var ws = wb.Worksheets[0];
// Decimal range validation for B1:B10 — allow 0 to 100
var numVal = ws.Validations[ws.Validations.Add(CellArea.CreateCellArea("B1", "B10"))];
numVal.Type = ValidationType.Decimal;
numVal.Operator = OperatorType.Between;
numVal.Formula1 = "0";
numVal.Formula2 = "100";
numVal.ErrorTitle = "Out of Range";
numVal.ErrorMessage = "Please enter a number between 0 and 100.";
numVal.ShowError = true;
numVal.IgnoreBlank = true;
wb.Save("decimal-validation.xlsx");
Console.WriteLine("Decimal validation added.");Adım 5: Aynı sayfada çoklu doğrulama kombinasyonu
Aynı sayfaya herhangi bir sayıda doğrulama ekleyebilirsiniz. Validations.Add() Birden fazla kez, her bir farklı CellArea.
using Aspose.Cells_FOSS;
var wb = new Workbook();
var ws = wb.Worksheets[0];
// List validation for column A (status)
var statusVal = ws.Validations[ws.Validations.Add(CellArea.CreateCellArea("A2", "A100"))];
statusVal.Type = ValidationType.List;
statusVal.Formula1 = "\"New,Open,Closed\"";
statusVal.InCellDropDown = true;
// Decimal validation for column B (score)
var scoreVal = ws.Validations[ws.Validations.Add(CellArea.CreateCellArea("B2", "B100"))];
scoreVal.Type = ValidationType.Decimal;
scoreVal.Operator = OperatorType.Between;
scoreVal.Formula1 = "0";
scoreVal.Formula2 = "10";
scoreVal.ShowError = true;
wb.Save("combined-validation.xlsx");
Console.WriteLine("Combined validations added to sheet.");Yaygın Sorunlar ve Çözümler
Kaydettikten sonra Excel’de düşüş görünmez. Güvenlik InCellDropDown = true Onu ayarlıyor Validation Bu bayrak yalnızca Excel’de görülebilir. true ve ValidationType.List Kullanılır .
Validasyon, belirli aralığın dışındaki değerleri sağlar. Validasyon, Excel tarafından uygulanır, kütüphane tarafından değil. validasyonu kuralları ayarlamak kütüphanenin kendisini hücre herhangi bir değer yazmaktan alıkoymaz.
Formula1 Bir listede doğrulama gösterir ki, #NAME? Excel için. Bir inline comma-ayrı listesi için, çizgiyi kaçan alıntılarda doldurun: Formula1 = "\"Option1,Option2,Option3\"".İç alıntılar olmadan, Excel değerleri bir hücre referans formülü olarak ele alır.
OperatorType.Between Doğru şekilde uygulama yapmamak. İkisi de güvence altına alın Formula1 (En azından) ve Formula2 (Maksimum) çubuk olarak ayarlanır. eksik Formula2 için Between Yukarıdaki sınırı tanımlanmamış bırakın.
Sık Sorulan Sorular
Bir hücre aralığına karşı geçerli olabilir miyim (örneğin, bir isim aralıkı)?
Setleri Formula1 Bu nedenle, bir hücre aralığı referansı gibi "Sheet2!$A$1:$A$10".Bu aralıktaki değerler düşüş listesi kaynağı olarak kullanılacaktır.
Kütüphaneyi geçersiz değerler yazmaktan alıkoyar mı?
No. Validasyon kuralları, bir kullanıcı veri girdiğinde Excel tarafından uygulanır. Aspose.Cells FOSS kütüphanesi, aradığınızda validasyonu uygulamaz Cell.PutValue() programlı olarak .
Bir validasyon kuralı nasıl kaldırılır?
Kuralın içeriğine ulaşmak Worksheet.Validations[index] ve kullanmak ValidationCollection Alternatif olarak, istenmeyen kurallar olmadan yeni bir çalışma kitabı modeli oluşturun.
Bir sayfa başına maksimum valide sayısı nedir?
XLSX formatı, çalışma sayfası başına 65,530 geçerlilik kuralını destekler.