Validación de datos
Tipos de Validación de Datos y Ejecución
La validación de datos es la capacidad de establecer reglas relacionadas con los datos ingresados en una hoja de cálculo. Por ejemplo, use la validación para asegurarse de que una columna etiquetada como FECHA contenga solo fechas, o que otra columna contenga solo números. Incluso puede asegurarse de que una columna etiquetada como FECHA contenga solo fechas dentro de un cierto rango. Con la validación de datos, puede controlar lo que se ingresa en las celdas de la hoja de cálculo.
Microsoft Excel admite varios tipos diferentes de validación de datos. Cada tipo se usa para controlar qué tipo de datos se ingresa en una celda o rango de celdas. A continuación, se muestran fragmentos de código que ilustran cómo validar que:
- Los números son enteros, es decir, que no tienen parte decimal.
- Los números decimales siguen la estructura correcta. El ejemplo de código define que un rango de celdas debe tener dos espacios decimales.
- Los valores están restringidos a una lista de valores. La validación de lista define una lista separada de valores que se pueden aplicar a una celda o rango de celdas.
- Las fechas se encuentran dentro de un rango específico.
- Una hora está dentro de un rango específico.
- Un texto está dentro de una longitud de caracteres dada.
Validación de datos con Microsoft Excel
Para crear validaciones usando Microsoft Excel:
- En una hoja de cálculo, seleccione las celdas a las que desea aplicar la validación.
- Desde el menú Datos, seleccione Validación. Se mostrará el diálogo de validación.
- Haga clic en la pestaña Configuración e ingrese la configuración.
Validación de datos con la biblioteca Excel de Python de Aspose.Cells
La validación de datos es una función poderosa para validar la información ingresada en las hojas de cálculo. Con la validación de datos, los desarrolladores pueden proporcionar a los usuarios una lista de opciones, restringir las entradas de datos a un tipo o tamaño específico, etc. En Aspose.Cells para Python via .NET, cada clase Worksheet tiene una propiedad validations que representa una colección de objetos Validation. Para configurar la validación, establezca algunas de las propiedades de la clase Validation de la siguiente manera:
- type: representa el tipo de validación, que puede ser especificado utilizando uno de los valores predefinidos en la enumeración ValidationType.
- Operator: representa el operador que se utilizará en la validación, que puede ser especificado utilizando uno de los valores predefinidos en la enumeración OperatorType.
- formula1: representa el valor o la expresión asociada con la primera parte de la validación de datos.
- formula2: representa el valor o la expresión asociada con la segunda parte de la validación de datos.
Cuando las propiedades del objeto Validation hayan sido configuradas, los desarrolladores pueden utilizar la estructura CellArea para almacenar información sobre el rango de celdas que se validarán utilizando la validación creada.
Tipos de validación de datos
La enumeración ValidationType tiene los siguientes miembros:
Nombre del miembro | Descripción |
---|---|
ANY_VALUE | Denota un valor de cualquier tipo. |
WHOLE_NUMBER | Denota el tipo de validación para números enteros. |
DECIMAL | Denota el tipo de validación para números decimales. |
LISTA | Denota el tipo de validación para lista desplegable. |
DATE | Denota el tipo de validación para fechas. |
TIEMPO | Denota el tipo de validación para hora. |
TEXT_LENGTH | Denota el tipo de validación para la longitud del texto. |
PERSONALIZADO | Denota el tipo de validación personalizada. |
Validación de datos de números enteros
Con este tipo de validación, los usuarios solo pueden ingresar números enteros dentro de un rango especificado en las celdas validadas. Los ejemplos de código que siguen muestran cómo implementar el tipo de validación de números enteros. El ejemplo crea la misma validación de datos utilizando Aspose.Cells para Python via .NET que creamos utilizando Microsoft Excel anteriormente.
Validación de datos de lista
Este tipo de validación permite al usuario ingresar valores de una lista desplegable. Proporciona una lista: una serie de filas que contienen datos. En el ejemplo, se agrega una segunda hoja de cálculo para contener la fuente de la lista. Los usuarios solo pueden seleccionar valores de la lista. El área de validación es el rango de celdas A1:A5 en la primera hoja de cálculo.
Es importante aquí que establezca la propiedad Validation.in_cell_drop_down como true.
Validación de datos de fechas
Con este tipo de validación, los usuarios ingresan valores de fecha dentro de un rango especificado, o que cumplen criterios específicos, en las celdas validadas. En el ejemplo, el usuario está restringido a ingresar fechas entre 1970 y 1999. Aquí, el área de validación es la celda B1.
Validación de datos de hora
Con este tipo de validación, los usuarios pueden ingresar horas dentro de un rango especificado, o que cumplan con ciertos criterios, en las celdas validadas. En el ejemplo, al usuario se le restringe ingresar horas entre las 09:00 y las 11:30 AM. Aquí, el área de validación es la celda B1.
Validación de Datos de Longitud de Texto
Con este tipo de validación, los usuarios pueden ingresar valores de texto de una longitud específica en las celdas validadas. En el ejemplo, al usuario se le restringe ingresar valores de cadena con no más de 5 caracteres. El área de validación es la celda B1.
Reglas de Validación de Datos
Cuando se implementan validaciones de datos, entonces la validación se puede verificar asignando diferentes valores en las celdas. Cell.get_validation_value() se puede utilizar para obtener el resultado de la validación. El siguiente ejemplo demuestra esta característica con valores diferentes. El archivo de ejemplo se puede descargar desde el siguiente enlace para pruebas:
sampleDataValidationRules.xlsx
Verificar si la validación en la celda es de lista desplegable
Como hemos visto, existen muchos tipos de validaciones que se pueden implementar dentro de una celda. Si quieres verificar si la validación es de lista desplegable o no, se puede utilizar la propiedad Validation.in_cell_drop_down para probarlo. El siguiente código de ejemplo muestra el uso de esta propiedad. Se puede descargar un archivo de ejemplo para pruebas desde el siguiente enlace:
Agregar CellArea a la validación existente
Puede haber casos en los que desees agregar CellArea a la Validation existente. Cuando agregas CellArea usando Validation.add_area(cell_area), Aspose.Cells verifica todas las áreas existentes para ver si la nueva área ya está incluida. Si el archivo tiene un gran número de validaciones, esto afecta el rendimiento. Para superar esto, la API proporciona el método Validation.add_area(cell_area, check_intersection, check_edge). El parámetro checkIntersection indica si se debe verificar la intersección de una determinada área con áreas de validación existentes. Establecerlo en falso deshabilitará la verificación de otras áreas. El parámetro checkEdge indica si se deben verificar las áreas aplicadas. Si la nueva área se convierte en el área superior izquierda, se reconstruyen las configuraciones internas. Si estás seguro de que la nueva área no es el área superior izquierda, puedes establecer este parámetro en falso.
El siguiente fragmento de código muestra el uso del método Validation.add_area(cell_area, check_intersection, check_edge) para agregar nuevas CellArea a las Validation existentes.
Se adjuntan los archivos de Excel de origen y salida para referencia.