Validación de datos

Tipos de Validación de Datos y Ejecución

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:

Validación de datos con Microsoft Excel

Para crear validaciones usando Microsoft Excel:

  1. En una hoja de cálculo, seleccione las celdas a las que desea aplicar la validación.

  2. En el menú Datos, selecciona Validación. Se mostrará el cuadro de diálogo de validación.

  3. Haz clic en la pestaña Configuración e introduce las configuraciones como se muestra a continuación. 

    Configuración de validación de datos

todo:image_alt_text

Validación de datos con 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, cada clase Worksheet tiene un objeto Validations que representa una colección de objetos Validation. Para configurar la validación, establezca algunas de las propiedades de la clase Validation:

  • Type: representa el tipo de validación, que puede especificarse utilizando uno de los valores predefinidos en la enumeración ValidationType.
  • Operator: representa el operador que se utilizará en la validación, que puede especificarse utilizando uno de los valores predefinidos en la enumeración OperatorType.
  • Formula1: representa el valor o expresión asociada con la primera parte de la validación de datos.
  • Formula2: representa el valor o expresión asociada con la segunda parte de la validación de datos.

Cuando se han configurado las propiedades del objeto Validation, 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 validación de datos le permite establecer reglas de negocio en cada celda para que las entradas incorrectas resulten en mensajes de error. Las reglas de negocio son las políticas y procedimientos que rigen cómo opera un negocio. Aspose.Cells admite todos los tipos importantes 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.
LIST Denota el tipo de validación para lista desplegable.
DATE Denota el tipo de validación para fechas.
TIME Denota el tipo de validación para hora.
TEXT_LENGTH Denota el tipo de validación para la longitud del texto.
CUSTOM Denota tipo de validación personalizada.

Ejemplo de programación: 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 NÚMERO_ENTERO. El ejemplo crea la misma validación de datos usando Aspose.Cells que creamos usando Microsoft Excel anteriormente.

Ejemplo de programación: Validación de datos decimales

Con este tipo de validación, el usuario puede ingresar números decimales en las celdas validadas. En el ejemplo, el usuario está restringido a ingresar solo valores decimales y el área de validación es A1:A10.

Ejemplo de programación: 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. 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.setInCellDropDown en true.

Ejemplo de programación: Validación de datos de fecha

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.

Ejemplos de programación: Validación de datos de tiempo

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.

Ejemplos de programación: 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, la validación se puede verificar asignando diferentes valores a las celdas. Cell.GetValidationValue() se puede utilizar para obtener el resultado de la validación. El siguiente ejemplo demuestra esta función con diferentes valores. El archivo de ejemplo se puede descargar desde el siguiente enlace para probarlo:

SampleDataValidationRules.xlsx

Código de Ejemplo

Verifique si la validación en una celda es desplegable

Como hemos visto, hay muchos tipos de validaciones que se pueden implementar dentro de una celda. Si desea verificar si la validación es desplegable o no, se puede utilizar la propiedad Validation.InCellDropDown para probar esto. El siguiente código de muestra demuestra el uso de esta propiedad. El archivo de ejemplo para probar se puede descargar desde el siguiente enlace:

sampleDataValidationRules.xlsx

Agregar CellArea a la validación existente

Puede haber casos en los que desee agregar CellArea a la Validación existente. Cuando se agrega CellArea usando Validation.AddArea(CellArea cellArea), Aspose.Cells verifica todas las áreas existentes para ver si la nueva área ya existe. Si el archivo tiene un gran número de validaciones, esto afecta el rendimiento. Para solucionar esto, la API proporciona el método Validation.AddAreaCellArea cellArea, bool checkIntersection, bool checkEdge). El parámetro checkIntersection indica si se debe verificar la intersección de un área dada con las áreas de validación existentes. Establecerlo en false deshabilitará la verificación de otras áreas. El parámetro checkEdge indica si se deben comprobar las áreas aplicadas. Si la nueva área se convierte en la parte superior izquierda, se reconstruyen las configuraciones internas. Si está seguro de que la nueva área no es la parte superior izquierda, puede establecer este parámetro en false.

El siguiente fragmento de código demuestra el uso del método Validation.AddAreaCellArea cellArea, bool checkIntersection, bool checkEdge) para agregar una nueva CellArea a la Validación existente.

Se adjuntan los archivos de Excel de origen y salida para referencia.

Archivo de origen

Archivo de Salida

Temas avanzados