Trabajar con formato condicional
En este tema se describe la clase SDK ConditionalFormatting de Open XML y cómo se relaciona con el esquema SpreadsheetML de formato de archivo Open XML. Para obtener más información sobre la estructura general de los elementos y elementos que componen un documento SpreadsheetML, vea Estructura de un documento SpreadsheetML.
Formato condicional en SpreadsheetML
El formato condicional basado en celdas proporciona una estructura para los datos dentro de una hoja de cálculo. Se muestran colores y valores para ayudar a distinguir el alto relativo de esos valores. Hay varias opciones de formato que se pueden aplicar a las celdas según sus valores. Se puede resaltar la parte superior o inferior de la mayoría de los elementos, proporcionar barras de datos para mostrar la interfaz de usuario de un tipo de barra de progreso o usar escalas de color para indicar los niveles altos y bajos. El formato condicional se aplica directamente a una celda en una hoja de cálculo. El valor no tiene que formar parte de una tabla.
Todas las opciones de formato condicional se almacenan en el nivel de hoja de cálculo.
La hoja de cálculo almacena un <conditionalFormatting/>
elemento para cada formato aplicado a una celda o serie de celdas. La colección de celdas en las que se aplica el formato se define mediante el sqref
atributo . El sqref
atributo especifica un intervalo de celdas mediante la notación "from:to", por ejemplo "A1:A10".
En la tabla siguiente se enumeran las clases comunes del SDK de Open XML que se usan al trabajar con la ConditionalFormatting
clase .
Elemento de SpreadsheetML | Open XML SDK (clase) |
---|---|
<cfRule/> |
ConditionalFormattingRule |
<dataBar/> |
DataBar |
<colorScale/> |
ColorScale |
<iconSet/> |
IconSet |
Clase de formato condicional del SDK de Open XML
La clase SDK ConditionalFormatting
de Open XML representa el elemento de tabla (<conditionalFormatting/>
) definido en el esquema formato de archivo Open XML para documentos SpreadsheetML. Use la ConditionalFormatting
clase para manipular elementos individuales <conditionalFormatting/>
en un documento SpreadsheetML.
La siguiente información de la especificación ISO/IEC 29500 presenta el ConditionalFormatting
elemento (<conditionalFormatting/>
).
Un formato condicional es un formato, como el sombreado de celdas o el color de fuente, que una aplicación de hoja de cálculo puede aplicar automáticamente a las celdas si se cumple una condición especificada. Esta colección expresa reglas de formato condicional aplicadas a una determinada celda o rango.
Ejemplo: En este ejemplo se aplica una regla "top10" a las celdas C3:C8. hace @dxfId referencia al formato (definido en la parte de estilos) que se va a aplicar a las celdas que coinciden con los criterios.
<conditionalFormatting sqref="C3:C8">
<cfRule type="top10" dxfId="1" priority="3" rank="2"/>
</conditionalFormatting>
© ISO/IEC 29500: 2016
Clase de regla de formato condicional
La siguiente información de la especificación ISO/IEC 29500 presenta el ConditionalFormattingRule
elemento (<cfRule/>
).
Esta colección representa una descripción de una regla de formato condicional.
Ejemplo:
En este ejemplo se muestra una regla de formato condicional que resalta las celdas cuyos valores son superiores a 0,5. Tenga en cuenta que en este caso, el contenido de <formula/>
es un valor estático, pero también puede ser una expresión de la fórmula.
<conditionalFormatting sqref="E3:E9">
<cfRule type="cellIs" dxfId="0" priority="1" operator="greaterThan">
<formula>0.5</formula>
</cfRule>
<conditionalFormatting>
Solo las reglas con un valor de atributo de tipo de expresión admiten la sintaxis de la fórmula.
© ISO/IEC 29500: 2016
Cada formato condicional puede especificar diferentes reglas de formato.
Por ejemplo, se puede aplicar una escala de color y formato de barra de datos al mismo tiempo. Cada formato condicional se representa mediante un elemento independiente <cfRule/>
. Para especificar la prioridad de visualización de la interfaz de usuario, puede usar el priority
atributo . Dado que un <conditionalFormatting/>
elemento puede superponerse a otras áreas con formato en la hoja de cálculo, la prioridad es global para todos los formatos condicionales definidos para esa hoja de cálculo.
El <cfRule/>
elemento tiene muchos tipos de formato, como cellIs
y top10
, que se pueden aplicar. Cada tipo de formato usa elementos comunes para definir su configuración. Para obtener más información acerca de los atributos de regla de formato condicional, vea la especificación ISO/IEC 29500.
Clase de barra de datos
La siguiente información de la especificación ISO/IEC 29500 presenta el DataBar
elemento (<dataBar/>
).
Describe una regla de formato condicional de barra de datos.
Ejemplo:
En este ejemplo se expresa un formato condicional de barra de datos, que se propaga a través de todos los valores de celda en el rango de celdas y cuyo color es azul.
<dataBar>
<cfvo type="min" val="0"/>
<cfvo type="max" val="0"/>
<color rgb="FF638EC6"/>
</dataBar>
La longitud de la barra de datos de cualquiera de las celdas se puede calcular de la siguiente forma:
Longitud de la barra de datos = minLength + (valor de la celda - valor mínimo en el rango) / (valor máximo en el rango - valor mínimo en el rango) * (maxLength - minLength),
donde maxLength y minLength son un porcentaje fijo del ancho de columna (de manera predeterminada, 10% y 90% respectivamente).
La diferencia mínima en la longitud (o la cantidad de incremento) es 1 píxel.
© ISO/IEC 29500: 2016
Las barras de datos toman un solo color y lo muestran como una barra. La longitud de la barra indica el alto relativo del valor de celda. Una barra de datos usa un modelo independiente dentro de la regla de formato condicional para definir su configuración. El <dataBar/>
elemento almacena todos los datos pertinentes. Una barra de datos requiere tres opciones de configuración: los valores mínimos y máximos con los que se van a comparar los valores de celda, así como un color. El primer <cfvo/>
elemento, o objeto de valor de formato condicional, define el valor mínimo y el segundo <cfvo/>
define el valor máximo. Se pueden usar distintas formas para especificar un valor, como el uso de una fórmula o valor codificado de forma rígida. Otra opción común es usar los tipos "min" y "max". Estos <cfvo/>
tipos de elementos especifican los valores mínimo y máximo que se encuentran en el intervalo de celdas que tienen aplicado el formato. Esto proporciona un degradado escalonado limpio entre los elementos más bajos y más altos. Además, puede especificar el color de la barra de datos mediante el <color/>
elemento .
Clase de escala de color
La siguiente información de la especificación ISO/IEC 29500 presenta el ColorScale
elemento (<colorScale/>
).
Describe una escala de color degradada en esta regla de formato condicional.
Ejemplo:
<colorScale>
<cfvo type="min" val="0"/>
<cfvo type="max" val="0"/>
<color theme="5"/>
<color rgb="FFFFEF9C"/>
</colorScale>
© ISO/IEC 29500: 2016
Las escalas de color proporcionan una presentación que indica el valor relativo entre todos los elementos de celda, de forma similar a una barra de datos. Una escala de color usa un modelo independiente dentro de la regla de formato condicional para definir su configuración. Puede especificar hasta tres <cfvo/>
objetos de valor de formato condicional, valores de elemento: uno para el inicio de la escala, otro para la mitad de la escala y otro para el final de la escala. El valor medio es opcional. Además, puede especificar el color de la escala de colores mediante el <color/>
elemento .
Clase de conjunto de iconos
La siguiente información de la especificación ISO/IEC 29500 presenta el IconSet
elemento (<iconSet/>
).
Describe una regla de formato condicional de conjunto de iconos.
Ejemplo: en este ejemplo se muestra el estilo "3Arrows" de los iconos. El primer icono del conjunto se debe mostrar si el valor de la celda es menor que el percentil 33. El segundo icono del conjunto se debe mostrar si el valor de la celda es menor que el percentil 67 y mayor o igual que el percentil 33. El tercer icono del conjunto se debe mostrar si el valor de la celda es mayor o igual que el percentil 67.
<iconSet iconSet="3Arrows">
<cfvo type="percentile" val="0"/>
<cfvo type="percentile" val="33"/>
<cfvo type="percentile" val="67"/>
</iconSet>
© ISO/IEC 29500: 2016
El uso de conjuntos de iconos permite aplicar distintos conjuntos de iconos a las celdas que contienen los datos. El conjunto de iconos usa un rango de valores para identificar el conjunto de celdas que se debe aplicar a la regla de formato. El primer <cfvo/>
elemento identifica el valor más bajo del intervalo, el segundo <cfvo/>
elemento identifica el punto central y el tercer <cfvo/>
elemento identifica el valor más alto. Un conjunto de iconos identifica los iconos que se deben aplicar a las celdas. Se puede elegir entre varios iconos codificados de forma rígida. Para obtener más información acerca de los iconos disponibles, vea la especificación ISO/IEC 29500.