Share via


Trabajar con formato condicional

En este tema se describe la clase ConditionalFormatting del SDK 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 < elemento conditionalFormatting> para cada formato aplicado a una celda o serie de celdas. La colección de celdas en la que se aplica el formato se define mediante el atributo sqref. El atributo sqref especifica un rango de celdas mediante la notación "desde:a", 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 clase ConditionalFormatting .

Elemento de SpreadsheetML Open XML SDK (clase)
cfRule ConditionalFormattingRule
Databar Databar
colorScale Escala de colores
iconSet IconSet

Clase de formato condicional del SDK de Open XML

La claseConditionalFormatting del SDK de Open XML representa el elemento table (<conditionalFormatting>) definido en el esquema de formato de archivo Open XML para documentos SpreadsheetML. Use la clase ConditionalFormatting para manipular elementos conditionalFormatting> individuales < en un documento SpreadsheetML.

La siguiente información de la especificación ISO/IEC 29500 presenta el elemento ConditionalFormatting (<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/IEC29500: 2008.

Clase de regla de formato condicional

La siguiente información de la especificación ISO/IEC 29500 presenta el elemento ConditionalFormattingRule (<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 <la fórmula> es un valor estático, pero también puede ser una expresión de 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/IEC29500: 2008.

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 cfRule> independiente<. Para especificar su prioridad de presentación de la interfaz de usuario se puede usar el atributo priority. Dado que un < elemento conditionalFormatting> 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 < elemento cfRule> 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 elemento DataBar (<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/IEC29500: 2008.

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 < elemento dataBar> 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 < elemento cfvo>, o objeto de valor de formato condicional, define el valor mínimo, el segundo < elemento 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 < tipos de elementos cfvo> 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 < elemento color>.

Clase de escala de color

La siguiente información de la especificación ISO/IEC 29500 presenta el elemento ColorScale (<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/IEC29500: 2008.

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>, o un objeto 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 < elemento color>.

Clase de conjunto de iconos

La siguiente información de la especificación ISO/IEC 29500 presenta el elemento IconSet (<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/IEC29500: 2008.

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 < elemento cfvo> identifica el valor más bajo del intervalo, el segundo < elemento cfvo>identifica el punto central y el tercer < elemento cfvo> 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.