HotXLS-documentatie

TXLSXConditionalFormat en TXLSXConditionalFormats classes

TXLSXConditionalFormats is the rule collection exposed by TXLSXWorksheet.ConditionalFormats en supports cell, visual, text, ranking en average rules

Collection methods

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;

Rule members

Range, Op, Formula1 and Formula2Definieert een standaard celvergelijkingsregel
StyleLuie differentiële opmaak gebruikt door cel- en expressieregels
DataBar, ColorScale and IconSetVisuele payloads voor hun respectieve regelsoorten
Priority and StopIfTrueSturen de regelvolgorde van het werkblad en het short-circuitgedrag aan
Text, Rank, Percent, Bottom and AboveAverageParameters voor tekst-, top-of-bottom- en gemiddelderegels
TimePeriodRelatieve-datumgrondslag voor regels op tijdsperiode

Doelbereiken van regels

Vanaf 2.384.76 accepteren werkbladlocale doelen enkele cellen, celrechthoeken, hele kolommen zoals $B:$D en hele rijen zoals $5:$8; omgekeerde eindpunten worden genormaliseerd, en spaties, tabs of regeleindes scheiden meerdere gebieden
Absolute en gemengde referenties behouden hun oorspronkelijke Range-tekst; het matchen gebruikt rijen 1 tot en met 1048576 en kolommen A tot en met XFD, slaat misvormde of buiten het raster vallende gebieden over en houdt geldige zustergebieden actief zonder een nieuwe setter-exception te gooien
Verwijzingen met bladkwalificatie en externe verwijzingen zijn geen doelgebieden; elke regel hoort bij zijn werkblad, en dollartekens moeten op gewone A1-referentieposities staan
Regelopzoeking, cel- en bereikverwijdering en de evaluator van voorwaardelijke opmaak gebruiken dezelfde doelgeometrie; aggregatieregels tellen overlappende gebieden één keer en bezoeken alleen opgeslagen celwaarden, ook als het doel het volledige raster bestrijkt
Vanaf 2.384.77 transformeren rij- en kolombewerkingen ook hele-as-regeldoelen binnen het werkbladraster; een omvang die elke rij of kolom bestrijkt blijft volledig wanneer die as wordt bewerkt, terwijl bewerkingen op de andere as het doel verplaatsen, verkleinen of verwijderen
Het klonen van bereiken behoudt het volledige-dekkingscontract: elk doelgebied moet in de bronrechthoek passen voordat de regel wordt gekopieerd, en alleen een gedeeltelijke intersectie kopieert geen regel; hele-as-doelen kunnen gekloond worden vanuit een hele-rij- of hele-kolombron zolang de bestemming binnen het raster blijft
Interne bewerkingen behouden de domeinen van relatieve expressie- en celvergelijkingsformules door een doel indien nodig te splitsen en delen die op één gemeenschappelijk anker gelijkwaardig blijven samen te voegen; de bibliotheek reproduceert de extra end-of-grid-opmaak die Excel tijdens het invoegen impliciet kan meekopiëren niet

Voorbeeld

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;

Voorwaardelijke getalnotaties

Style.SetNumFormatId stelt een differentiële getalnotatie in, onafhankelijk van de basisnotatie van de doelcel; ID 0 is een expliciete General-reset, en zonder override blijft de basisnotatie gelden
Aangepaste notatie-ID's zijn 164 + Index, waarbij Index het nulgebaseerde resultaat van Workbook.NumberFormats.Add is; het opslaan van XLSX behoudt notaties waarnaar alleen voorwaardelijke regels verwijzen en werkt de ID's bij wanneer de notatiepool wordt gecomprimeerd

Voorwaardelijke ODS-stijlen

ODS-import en -export behouden de differentiële stijlen van celvergelijkings- en expressieregels: lettertypekleur, naam, grootte, vet, cursief en onderstreping, effen of transparante achtergrond, en de getalnotaties die de ODS-getalnotatieconverter ondersteunt
Expliciet zwart, normaal lettertypegewicht, geen onderstreping en een transparante achtergrond blijven overrides; kenmerken die in de regel ontbreken, blijven de basisopmaak van de doelcel gebruiken
Thema- en geïndexeerde kleuren worden geëxporteerd als concrete kleurwaarden: het uiterlijk blijft behouden, maar hun thema- of paletidentiteit maakt geen roundtrip via ODS; lettertypeschema-metadata heeft geen ODS-toewijzing
ODS gebruikt gewone enkele of dubbele onderstreping in plaats van boekhoudkundige onderstreping, en patroonvullingen worden weergegeven met een achtergrondkleur; rand- en uitlijningsoverrides worden niet door TXLSDxfStyle ontsloten
De geverifieerde ODS-import in Excel 16 behoudt markeerkleuren, expliciete resets, onderstreping en percentageopmaak, maar negeert voorwaardelijke lettertypefamilie en -grootte; LibreOffice 26.2.5.2 leest die eigenschappen van genoemde stijlen wel, en diens geconverteerde XLSX behoudt ze in Excel
Vanaf 2.384.75 gebruiken ODS-regels voor celvergelijking en expressies compacte herhaalde lege dragers over hun volledige doelen, inclusief hele rijen, hele kolommen en brede bereiken; overlappende regels behouden hun volgorde, en opvulling die alleen uit dragers bestaat creëert bij heropening door HotXLS geen opgeslagen cellen

Zie ook