.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 rehberlik
Adım 1: Paket yükleme
dotnet add package Aspose.Cells_FOSSAdım 2: Namespace İndir
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.
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.
// 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.");<button class=“hextra-code-copy-btn hx-group/copybtn hx-transition-all active:hx-opacity-50 hx-bg-primary-700/5 hx-border hx-border-black/5 hx-text-gray-600 hover:hx-text-gray-900 hx-rounded-md hx-p-1.5 dark:hx-bg-primary-300/10 dark:hx-border-white/10 dark:hx-text-gray-400 dark:hover:hx-text-gray-50” title=“Copy code”
<div class="copy-icon group-[.copied]/copybtn:hx-hidden hx-pointer-events-none hx-h-4 hx-w-4"></div>
<div class="success-icon hx-hidden group-[.copied]/copybtn:hx-block hx-pointer-events-none hx-h-4 hx-w-4"></div>
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.
// 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.”);
<button class=“hextra-code-copy-btn hx-group/copybtn hx-transition-all active:hx-opacity-50 hx-bg-primary-700/5 hx-border hx-border-black/5 hx-text-gray-600 hover:hx-text-gray-900 hx-rounded-md hx-p-1.5 dark:hx-bg-primary-300/10 dark:hx-border-white/10 dark:hx-text-gray-400 dark:hover:hx-text-gray-50” title=“Copy code”
<div class="copy-icon group-[.copied]/copybtn:hx-hidden hx-pointer-events-none hx-h-4 hx-w-4"></div>
<div class="success-icon hx-hidden group-[.copied]/copybtn:hx-block hx-pointer-events-none hx-h-4 hx-w-4"></div>
Toplam Sorunlar ve Çözümler
Kaydettikten sonra Excel’de düşüş görünmez. Ensure 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ça 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.