Cara Bekerja dengan Validasi Data di .NET

Cara Bekerja dengan Validasi Data di .NET

Aspose.Cells FOSS for .NET enables you to add data validation rules to cell ranges through Worksheet.Validations (a) ValidationCollection) Panggilan Add(CellArea) untuk menciptakan sebuah Validation objek dan menetapkan Type menggunakan ValidationType.Jenis yang didukung meliputi: List, Decimal, dan Custom.Instal dengan dotnet add package Aspose.Cells_FOSS.

Panduan Langkah-Langkah

Langkah 1: Instalasi paket

dotnet add package Aspose.Cells_FOSS

Langkah 2: Impor ruang nama

using Aspose.Cells_FOSS;

Langkah 3: Tambahkan Validasi Daftar Pop-down

Buatlah sebuah CellArea dengan: CellArea.CreateCellArea(), tambahkan ke Worksheet.Validations, dan ditetapkan ValidationType.List dengan daftar terpisah koma di 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.”);


---

### Langkah 4: Tambahkan Validasi Jangkauan Numerik

Penggunaan `ValidationType.Decimal` dengan: `OperatorType.Between` dan (b) `Formula1`/`Formula2` untuk membatasi input numerik.

// 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>

Langkah 5: Gabungkan beberapa validasi pada lembar yang sama

Anda dapat menambahkan sejumlah validasi ke lembar yang sama dengan menelepon Validations.Add() beberapa kali, masing-masing dengan yang berbeda 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>

Masalah dan Fixes Umum

Daftar gulung tidak muncul di Excel setelah menyimpan. Ensure InCellDropDown = true diatur pada Validation dropdown hanya terlihat di Excel ketika flag ini ditampilkan pada bagian bawah. true dan (b) ValidationType.List digunakan.

Validasi memungkinkan nilai di luar kisaran yang ditentukan. Validasi dilakukan oleh Excel, bukan perpustakaan. Menetapkan aturan validasi tidak mencegah perpustakaannya sendiri menulis nilai ke sel. Validasi diterapkan ketika pengguna memasukkan data di Excel.

Formula1 untuk validasi daftar menunjukkan sebagai: #NAME? di Excel. Untuk daftar yang dipisahkan koma, bungkus string dengan kutipan kabur: Formula1 = "\"Option1,Option2,Option3\"".Tanpa kutipan dalam, Excel memperlakukan nilai sebagai rumus referensi sel.

OperatorType.Between tidak menerapkannya dengan benar. Pastikan keduanya Formula1 (minimal) dan Formula2 (maksimum) ditetapkan sebagai string. Hilang Formula2 untuk Between meninggalkan batas atas tidak ditentukan.

Pertanyaan yang sering ditanya

Bisakah saya memvalidasi terhadap rentang sel (misalnya, rentan dengan nama)?

Set (set) Formula1 ke referensi sel rentang seperti: "Sheet2!$A$1:$A$10".Nilai-nilai dalam kisaran itu akan digunakan sebagai sumber daftar gulung.

Apakah validasi mencegah perpustakaan dari menulis nilai yang tidak sah?

Tidak. Aturan validasi diberlakukan oleh Excel ketika pengguna memasukkan data. Perpustakaan FOSS tidak memaksakan validitas saat Anda memanggil Cell.PutValue() secara programatis.

Bagaimana saya menghapus aturan validasi?

Akses aturan melalui Worksheet.Validations[index] dan penggunaan ValidationCollection Atau, buatlah model buku kerja baru tanpa aturan yang tidak diinginkan.

Berapa jumlah validasi maksimum per lembar?

Format XLSX mendukung hingga 65.530 aturan validasi per lembar kerja.

See Also

 Bahasa Indonesia