验证 Cell 值是否满足数据验证规则
Contents
[
Hide
]
Microsoft Excel 允许用户向单元格添加数据验证规则。例如,小数验证指定只能输入 10 到 20 之间的数字。如果用户输入不同的数字。 Microsoft Excel 显示一条错误消息并提示他们输入正确范围内的数字。如果您将数字(例如 3)复制并粘贴到单元格中,Excel 不会运行验证检查或显示错误消息。
有时,需要验证一个值是否满足以编程方式应用于单元格的数据验证规则。例如,在上述情况下,输入应该失败。
介绍
Aspose.Cells 提供了Cell.GetValidationValue()以编程方式验证单元格值的方法。如果单元格中的值不满足应用于该单元格的数据有效性规则,则返回错误的, 别的真的.
下面的示例代码说明了如何Cell.GetValidationValue()方法有效。首先,它将值 3 输入 C1。因为这不满足数据验证规则,所以Cell.GetValidationValue()方法返回错误的.然后,它将值 15 输入 C1。因为这个值满足数据验证规则,所以Cell.GetValidationValue()方法返回真的.同样,它返回错误的价值 30。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Instantiate the workbook from sample Excel file | |
Workbook workbook = new Workbook(dataDir+ "sample.xlsx"); | |
// Access the first worksheet | |
Worksheet worksheet = workbook.Worksheets[0]; | |
// Access Cell C1 | |
// Cell C1 has the Decimal Validation applied on it. | |
// It can take only the values Between 10 and 20 | |
Cell cell = worksheet.Cells["C1"]; | |
// Enter 3 inside this cell | |
// Since it is not between 10 and 20, it should fail the validation | |
cell.PutValue(3); | |
// Check if number 3 satisfies the Data Validation rule applied on this cell | |
Console.WriteLine("Is 3 a Valid Value for this Cell: " + cell.GetValidationValue()); | |
// Enter 15 inside this cell | |
// Since it is between 10 and 20, it should succeed the validation | |
cell.PutValue(15); | |
// Check if number 15 satisfies the Data Validation rule applied on this cell | |
Console.WriteLine("Is 15 a Valid Value for this Cell: " + cell.GetValidationValue()); | |
// Enter 30 inside this cell | |
// Since it is not between 10 and 20, it should fail the validation again | |
cell.PutValue(30); | |
// Check if number 30 satisfies the Data Validation rule applied on this cell | |
Console.WriteLine("Is 30 a Valid Value for this Cell: " + cell.GetValidationValue()); |
输出
Is 3 a Valid Value for this Cell: False
Is 15 a Valid Value for this Cell: True
Is 30 a Valid Value for this Cell: False