Validación de datos
Microsoft Excel proporciona algunas buenas funciones para filtrar automáticamente o validar datos de hojas de cálculo.
Validación de datos es la capacidad de establecer reglas relacionadas con los datos ingresados en una hoja de trabajo. Por ejemplo, utilice la validación para asegurarse de que una columna etiquetada como FECHA contenga solo fechas o que otra columna contenga solo números. Incluso podría 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 trabajo. Aspose.Cells es totalmente compatible con las funciones de autofiltro y validación de datos de Microsoft de Excel. Este artículo explica cómo usar las funciones en Microsoft Excel y cómo codificarlas usando Aspose.Cells.
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 ingresan en una celda o rango de celdas. A continuación, los fragmentos de código ilustran cómo validar eso:
- Numbers son enteroses 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 caen dentro de un rango específico.
- El tiempo está dentro de un rango específico.
- Un texto está dentro de una longitud de carácter dada.
Validación de datos con Microsoft Excel
Para crear validaciones usando Microsoft Excel:
-
En una hoja de trabajo, seleccione las celdas a las que desea aplicar la validación.
-
Desde elDatosmenú, seleccioneValidación. Se muestra el cuadro de diálogo de validación.
-
Haga clic en elAjustese ingrese la configuración como se muestra a continuación.
Configuración de validación de datos
Validación de datos con Aspose.Cells
La validación de datos es una característica poderosa para validar la información ingresada en las hojas de trabajo. 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, cadaHoja de cálculola clase tiene unValidacionesobjeto que representa una colección deValidaciónobjetos. Para configurar la validación, configure algunos de losValidaciónpropiedades de la clase:
- Escribe: representa el tipo de validación, que se puede especificar utilizando uno de los valores predefinidos en elTipo de validaciónenumeración.
- Operador: representa el operador que se utilizará en la validación, que se puede especificar utilizando uno de los valores predefinidos en elTipo de operadorenumeración.
- Fórmula 1: representa el valor o expresión asociada a la primera parte de la validación de datos.
- Fórmula2: representa el valor o expresión asociada a la segunda parte de la validación de datos.
Cuando elValidaciónlas propiedades del objeto han sido configuradas, los desarrolladores pueden usar elárea de celdaestructura para almacenar información sobre el rango de celdas que se validará utilizando la validación creada.
Tipos de validación de datos
La validación de datos le permite crear reglas comerciales en cada celda para que las entradas incorrectas generen mensajes de error. Las reglas comerciales son las políticas y los procedimientos que rigen el funcionamiento de una empresa. Aspose.Cells admite todos los tipos importantes de validación de datos.
ÉlTipo de validaciónenumeración tiene los siguientes miembros:
Nombre de miembro | Descripción |
---|---|
ALGÚN VALOR | Denota un valor de cualquier tipo. |
NÚMERO ENTERO | Indica el tipo de validación para números enteros. |
DECIMAL | Indica el tipo de validación para números decimales. |
LISTA | Indica el tipo de validación para la lista desplegable. |
FECHA | Indica el tipo de validación para las fechas. |
HORA | Indica el tipo de validación para Hora. |
TEXTO_LONGITUD | Indica el tipo de validación para la longitud del texto. |
DISFRAZ | Indica un tipo de validación personalizado. |
Ejemplo de programación: Validación de datos de números enteros
Con este tipo de validación, los usuarios pueden ingresar solo números enteros dentro de un rango específico en las celdas validadas. Los ejemplos de código que siguen muestran cómo implementar elNÚMERO ENTEROtipo de validación. El ejemplo crea la misma validación de datos usando Aspose.Cells que creamos usando Microsoft Excel arriba.
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 el valor decimal 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.
Aquí es importante que establezca elValidación.setInCellDropDown propiedad averdadero.
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 específico, 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 tiempos dentro de un rango específico, o que cumplan con algunos criterios, en las celdas validadas. En el ejemplo, el usuario está restringido a ingresar horas entre las 09:00 y las 11:30 a. m. 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, el usuario está restringido a 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, se puede verificar la validación asignando diferentes valores en las celdas.Cell.ObtenerValidaciónValor() se puede utilizar para obtener el resultado de la validación. El siguiente ejemplo demuestra esta característica con diferentes valores. El archivo de muestra se puede descargar desde el siguiente enlace para realizar pruebas:
Reglas de validación de datos de muestra.xlsx
Código de muestra
Comprobar 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,Validación.InCellDropDown propiedad se puede utilizar para probar esto. El siguiente código de ejemplo demuestra el uso de esta propiedad. El archivo de muestra para la prueba se puede descargar desde el siguiente enlace:
ejemploDataValidationRules.xlsx
Agregar CellArea a la validación existente
Puede haber casos en los que desee agregarárea de celdaa existenteValidación. cuando agregasárea de celdausandoValidación.AddArea(CellArea cellArea), Aspose.Cells comprueba todas las áreas existentes para ver si la nueva área ya existe. Si el archivo tiene una gran cantidad de validaciones, esto afecta el rendimiento. Para superar esto, el API proporciona laValidation.AddAreaCellArea cellArea, bool checkIntersection, bool checkEdge) método. ÉlchequeIntersecciónEl parámetro indica si se debe verificar la intersección de un área dada con áreas de validación existentes. Configurándolo enfalsodeshabilitará la verificación de otras áreas. ÉlcomprobarBordeEl parámetro 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á seguro de que la nueva área no es el área superior izquierda, puede configurar este parámetro comofalso.
El siguiente fragmento de código demuestra el uso de laValidation.AddAreaCellArea cellArea, bool checkIntersection, bool checkEdge) método para agregar nuevosárea de celdaa existenteValidación.
Los archivos de Excel de origen y salida se adjuntan como referencia.