Verificar que el valor de la celda cumple con las reglas de validación de datos
Microsoft Excel permite a los usuarios agregar reglas de validación de datos a las celdas. Por ejemplo, una validación decimal especifica que solo se pueden ingresar números entre 10 y 20. Si un usuario ingresa un número diferente, Microsoft Excel muestra un mensaje de error y les solicita que ingresen un número en el rango correcto. Si copias y pegas un número, digamos 3, en la celda, Excel no ejecuta una verificación de validación ni muestra un mensaje de error.
A veces, es necesario verificar si un valor cumple con las reglas de validación de datos aplicadas a la celda programáticamente. En el caso anterior, por ejemplo, la entrada debería fallar.
Introducción
Aspose.Cells proporciona el método Cell.GetValidationValue() para validar los valores de las celdas programáticamente. Si el valor en una celda no cumple con la regla de validación de datos aplicada a esa celda, devuelve Falso, de lo contrario Verdadero.
El siguiente código de ejemplo ilustra cómo funciona el método Cell.GetValidationValue(). Primero, ingresa el valor 3 en C1. Debido a que esto no cumple con la regla de validación de datos, el método Cell.GetValidationValue() devuelve Falso. Luego, ingresa el valor 15 en C1. Debido a que este valor cumple con la regla de validación de datos, el método Cell.GetValidationValue() devuelve Verdadero. De manera similar, devuelve Falso para el valor 30.
// 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()); |
Salida
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