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 for Python via .NET proporciona el método Cell.get_validation_value() para validar los valores de las celdas de forma programática. Si el valor de una celda no cumple con la regla de validación de datos aplicada a esa celda, devuelve Falso, en caso contrario devuelve Verdadero.
El siguiente código de ejemplo ilustra cómo funciona el método Cell.get_validation_value(). Primero, introduce el valor 3 en C1. Debido a que esto no cumple con la regla de validación de datos, el método Cell.get_validation_value() devuelve Falso. Luego, introduce el valor 15 en C1. Debido a que este valor cumple con la regla de validación de datos, el método Cell.get_validation_value() devuelve Verdadero. Del mismo modo, devuelve Falso para el valor 30.
from aspose.cells import Workbook | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# Instantiate the workbook from sample Excel file | |
workbook = Workbook("sample.xlsx") | |
# Access the first 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 = worksheet.cells.get("C1") | |
# Enter 3 inside this cell | |
# Since it is not between 10 and 20, it should fail the validation | |
cell.put_value(3) | |
# Check if number 3 satisfies the Data Validation rule applied on this cell | |
print("Is 3 a Valid Value for this Cell: " + str(cell.get_validation_value())) | |
# Enter 15 inside this cell | |
# Since it is between 10 and 20, it should succeed the validation | |
cell.put_value(15) | |
# Check if number 15 satisfies the Data Validation rule applied on this cell | |
print("Is 15 a Valid Value for this Cell: " + str(cell.get_validation_value())) | |
# Enter 30 inside this cell | |
# Since it is not between 10 and 20, it should fail the validation again | |
cell.put_value(30) | |
# Check if number 30 satisfies the Data Validation rule applied on this cell | |
print("Is 30 a Valid Value for this Cell: " + str(cell.get_validation_value())) |
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