Làm thế nào để làm việc với xác thực dữ liệu trong .NET

Làm thế nào để làm việc với xác thực dữ liệu trong .NET

Aspose.Cells FOSS for .NET enables you to add data validation rules to cell ranges through Worksheet.Validations (a) ValidationCollection* gọi Add(CellArea) để tạo ra một Validation mục và đặt nó Type Sử dụng ValidationType.Các loại hỗ trợ bao gồm List, Decimal, và Custom.- Cài đặt với dotnet add package Aspose.Cells_FOSS.

Hướng dẫn từng bước

Bước 1: Cài Đặt Gói

dotnet add package Aspose.Cells_FOSS

Bước 2: nhập tên không gian

using Aspose.Cells_FOSS;

Bước 3: Thêm danh sách Dropdown Validation

tạo A CellArea Với CellArea.CreateCellArea(),Thêm vào đó để Worksheet.Validations,Và Set ValidationType.List với một danh sách chia tay trong 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.”);


---

### Bước 4: Thêm xác thực phạm vi số

Sử dụng `ValidationType.Decimal` Với `OperatorType.Between` và `Formula1`/`Formula2` - Giới hạn nhập số.

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

Bước 5: Kết hợp nhiều xác thực trên cùng một tấm

Bạn có thể thêm bất kỳ số validations nào vào cùng một tấm bằng cách gọi Validations.Add() nhiều lần, mỗi lần với một 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>

Các vấn đề chung và Fixes

Tải xuống không xuất hiện trong Excel sau khi lưu. Ensure InCellDropDown = true được đặt trên Validation mục trước khi lưu. dropdown chỉ có thể thấy trong Excel khi lá cờ này là trueValidationType.List được sử dụng.

Chứng nhận cho phép các giá trị bên ngoài phạm vi xác định. Việc xác thực được áp dụng bởi Excel, không phải bởi thư viện.Tài đặt các quy tắc xác minh không ngăn cản thư ký tự viết bất kỳ giá trị nào vào ô.Điều xác nhận được sử dụng khi một người dùng nhập dữ liệu trong Excel.

Formula1 cho một danh sách xác nhận hiển thị như #NAME? trong Excel. Đối với một danh sách inline comma-trách biệt, nhúng dòng trong các bản ghi bỏ lỡ: Formula1 = "\"Option1,Option2,Option3\"".Không có các bản ghi nội bộ, Excel xử lý giá trị như một công thức tham chiếu ô.

OperatorType.Between Không áp dụng đúng cách. Bảo đảm cả hai Formula1 (tối thiểu) và Formula2 (tối đa) được đặt như các dây. mất tích Formula2 Đối với Between Lên đường cao không được xác định.

Thường xuyên hỏi câu hỏi

Tôi có thể xác nhận chống lại phạm vi tế bào (ví dụ, một phạm Vi được gọi)?

Set Đặt Formula1 để có một phân vùng ô như: "Sheet2!$A$1:$A$10".Các giá trị trong phạm vi đó sẽ được sử dụng như là nguồn danh sách dropdown.

Có phải việc xác thực ngăn cản thư viện viết các giá trị không hợp lệ?

Không. Quy tắc xác thực được áp dụng bởi Excel khi một người dùng nhập dữ liệu. Thư viện FOSS Aspose.Cells không thực hiện xác nhận khi bạn gọi Cell.PutValue() lập trình .

Làm thế nào để tôi xóa một quy tắc xác thực?

Truy cập quy tắc thông qua Worksheet.Validations[index] và sử dụng ValidationCollection Tùy chọn, tạo một mô hình sổ làm việc mới mà không có các quy tắc không mong muốn.

Số lượng tối đa của chứng chỉ cho mỗi lá là gì?

Định dạng XLSX hỗ trợ tối đa 65,530 quy tắc xác thực cho mỗi bảng tính.

See Also

 Tiếng Việt