Documentación HotXLS

Clases TXLSXConditionalFormat y TXLSXConditionalFormats

TXLSXConditionalFormats es la colección de reglas expuesta por TXLSXWorksheet.ConditionalFormats y admite reglas de celda, visuales, de texto, de clasificación y de promedio

Métodos de la colección

function Add(const ARange: WideString; AOp: TXLSXCfOperator; const AFormula1: WideString): Integer;
function AddDataBar(const ARange: WideString; AColor: LongWord; AMinKind: TXLSCfValueKind; const AMinValue: WideString; AMaxKind: TXLSCfValueKind; const AMaxValue: WideString): Integer;
function AddColorScale2(...): Integer;
function AddColorScale3(...): Integer;
function AddIconSet(const ARange: WideString; ASetType: TXLSIconSetType): Integer;
function AddExpression(const ARange, AFormula: WideString): Integer;
function AddTextRule(const ARange: WideString; AKind: TXLSCfKind; const AText: WideString): Integer;
function AddTop10(const ARange: WideString; ARank: Integer; ABottom, APercent: Boolean): Integer;
function AddAboveAverage(const ARange: WideString; AAbove: Boolean): Integer;
function AddSimpleRule(const ARange: WideString; AKind: TXLSCfKind): Integer;

Miembros de la regla

Range, Op, Formula1 and Formula2Define una regla estándar de comparación de celdas
StyleFormato diferencial diferido usado por reglas de celda y de expresión
DataBar, ColorScale and IconSetDatos visuales para sus respectivos tipos de regla
Priority and StopIfTrueControlan el orden de las reglas de la hoja y el comportamiento de cortocircuito
Text, Rank, Percent, Bottom and AboveAverageParámetros de reglas de texto, superiores o inferiores y de promedio
TimePeriodIntervalo de fechas relativas para reglas de periodos de tiempo

Rangos de objetivos de reglas

Desde 2.384.76, los objetivos locales de la hoja aceptan celdas individuales, rectángulos de celdas, columnas completas como $B:$D y filas completas como $5:$8; los extremos invertidos se normalizan, y los espacios, tabuladores o saltos de línea separan varias áreas
Las referencias absolutas y mixtas conservan su texto Range original; la coincidencia usa las filas 1 a 1048576 y las columnas A a XFD, omite las áreas mal formadas o fuera de la cuadrícula, y mantiene activas las áreas hermanas válidas sin lanzar una nueva excepción del setter
Las referencias calificadas por hoja y externas no son áreas objetivo; cada regla pertenece a su hoja de cálculo, y los signos de dólar deben aparecer en posiciones ordinarias de referencia A1
La búsqueda de reglas, la eliminación de celdas y rangos, y el evaluador de formato condicional usan la misma geometría de objetivos; las reglas de agregación cuentan las áreas superpuestas una sola vez y visitan solo los valores de celdas almacenados, incluso cuando el objetivo cubre toda la cuadrícula
Desde 2.384.77, las ediciones de filas y columnas también transforman los objetivos de regla de eje completo dentro de la cuadrícula de la hoja; una extensión que abarca cada fila o columna permanece completa cuando ese eje se edita, mientras que las ediciones del otro eje mueven, encogen o eliminan el objetivo
La clonación de rangos conserva el contrato de cobertura completa: cada área objetivo debe caber dentro del rectángulo de origen antes de copiar la regla, y una intersección parcial por sí sola no copia una regla; los objetivos de eje completo pueden clonarse desde un origen de fila entera o de columna entera cuando el destino permanece dentro de la cuadrícula
Las ediciones interiores preservan los dominios de fórmulas relativas de expresión y de comparación de celdas dividiendo un objetivo cuando hace falta y fusionando las partes que permanecen equivalentes en un ancla común; la biblioteca no reproduce el formato adicional de fin de cuadrícula que Excel puede copiar implícitamente durante la inserción

Ejemplo

var Index: Integer;
begin
  Index := Sheet.ConditionalFormats.AddExpression('B2:B100', 'B2<0');
  Sheet.ConditionalFormats[Index].Style.SetFillBgColor($0000FF);
  Sheet.ConditionalFormats.AddColorScale3('C2:C100', $0000FF, $00FFFF, $00FF00, cfvMinOfRange, '', cfvPercentile, '50', cfvMaxOfRange, '');
end;

Formatos numéricos condicionales

Style.SetNumFormatId establece un formato de número diferencial con independencia del formato base de la celda objetivo; el ID 0 es un restablecimiento explícito a General, mientras que una anulación ausente deja vigente el formato base
Los ID de formato personalizado son 164 + Index, donde Index es el resultado con base cero de Workbook.NumberFormats.Add; el guardado XLSX retiene los formatos referenciados solo por reglas condicionales y actualiza los ID cuando el grupo de formatos se compacta

Estilos condicionales de ODS

La importación y exportación de ODS retiene los estilos diferenciales de las reglas de comparación de celdas y de expresión: color, nombre, tamaño, negrita, cursiva y subrayado de la fuente, fondo sólido o transparente, y los formatos de número que admite el conversor de formatos de número de ODS
El negro explícito, el peso normal de la fuente, la ausencia de subrayado y el fondo transparente siguen siendo anulaciones; los atributos ausentes de la regla continúan usando el formato base de la celda objetivo
Los colores de tema e indexados se exportan como colores resueltos, así que su apariencia sobrevive pero su identidad de tema o de paleta no sobrevive al round trip por ODS; los metadatos del esquema de fuentes no tienen mapeo ODS
ODS usa un subrayado simple o doble ordinario en lugar del subrayado contable, y los rellenos con patrón se representan mediante un color de fondo; las anulaciones de borde y alineación no se exponen en TXLSDxfStyle
La importación ODS verificada de Excel 16 retiene los colores de resaltado, los restablecimientos explícitos, el subrayado y el formato de porcentaje, pero ignora la familia y el tamaño condicionales de la fuente; LibreOffice 26.2.5.2 lee esas propiedades de estilos con nombre, y su XLSX convertido las retiene en Excel
Desde 2.384.75, las reglas de comparación de celdas y de expresión de ODS usan portadores de blancos repetidos compactos a lo largo de sus objetivos completos, incluidas filas completas, columnas completas y rangos anchos; las reglas superpuestas conservan su orden, y el relleno de solo portadores no crea celdas almacenadas cuando HotXLS reabre el archivo

Véase también