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 destino de las reglas

Desde la versión 2.384.76, los destinos locales de la hoja aceptan celdas individuales, rectángulos de celdas, columnas enteras como $B:$D y filas enteras 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 malformadas 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 las externas no son áreas de destino; 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, el borrado de celdas y rangos y el evaluador de formato condicional usan la misma geometría de destino; las reglas agregadas cuentan las áreas solapadas una sola vez y solo recorren los valores de celdas almacenados, incluso cuando el destino abarca toda la cuadrícula
Desde la versión 2.384.77, las ediciones de filas y columnas también transforman los destinos de reglas de eje completo dentro de la cuadrícula de la hoja; una extensión que abarca todas las filas o columnas sigue completa cuando se edita ese eje, mientras que las ediciones del otro eje mueven, reducen o eliminan el destino
La clonación de rangos conserva el contrato de cobertura completa: cada área de destino debe caber dentro del rectángulo de origen antes de copiar la regla, y una intersección parcial por sí sola no copia la regla; los destinos de eje completo pueden clonarse desde un origen de fila o columna entera cuando el destino se mantiene dentro de la cuadrícula
Las ediciones interiores preservan los dominios de las expresiones relativas y de las fórmulas de comparación de celdas dividiendo un destino cuando hace falta y fusionando las partes que siguen siendo equivalentes en un anclaje 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 numérico diferencial de forma independiente del formato base de la celda de destino; el ID 0 es un restablecimiento explícito a General, mientras que una sustitución ausente deja vigente el formato base
Los IDs de formato personalizado son 164 + Index, donde Index es el resultado de Workbook.NumberFormats.Add con base cero; el guardado XLSX retiene los formatos a los que solo hacen referencia reglas condicionales y actualiza los IDs 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 numéricos que admite el convertidor de formatos numéricos de ODS
El negro explícito, el grosor de fuente normal, la ausencia de subrayado y el fondo transparente siguen siendo sustituciones; los atributos ausentes de la regla siguen usando el formato base de la celda de destino
Los colores de tema e indexados se exportan como colores resueltos, de modo que su apariencia sobrevive, pero su identidad de tema o paleta no hace el round-trip por ODS; los metadatos del esquema de fuentes no tienen correspondencia en ODS
ODS usa el subrayado sencillo o doble ordinario en lugar del subrayado contable, y los rellenos con patrón se representan mediante un color de fondo; las sustituciones de borde y alineación no están expuestas por TXLSDxfStyle
La importación ODS verificada con 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 la versión 2.384.75, las reglas de comparación de celdas y de expresión de ODS usan portadores compactos de celdas en blanco repetidas en sus destinos completos, incluidas filas enteras, columnas enteras y rangos anchos; las reglas solapadas conservan su orden, y el relleno de solo portador no crea celdas almacenadas al reabrir con HotXLS

Véase también