TXLSXConditionalFormats is the rule collection exposed by TXLSXWorksheet.ConditionalFormats and supports cell, visual, text, ranking and 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 medlemmar
| Range, Op, Formula1 and Formula2 | Define a standard cell comparison rule |
| Style | Lazy differential format used by cell and expression rules |
| DataBar, ColorScale and IconSet | Visual payloads for their respective rule kinds |
| Priority and StopIfTrue | Control worksheet rule order and short-circuit behavior |
| Text, Rank, Percent, Bottom and AboveAverage | Parameters for text, top or bottom and average rules |
| TimePeriod | Relative-date band for time-period rules |
Måloområden för regler
Från och med 2.384.76 accepterar bladlokala mål enskilda celler, cellrektanglar, hela kolumner som $B:$D och hela rader som $5:$8; omvända ändpunkter normaliseras, och mellanslag, tabbar eller radbrytningar skiljer flera områden åt
Absoluta och blandade referenser behåller sin ursprungliga Range -text; matchningen använder rad 1 till 1048576 och kolumn A till XFD, hoppar över felformaterade eller utanför rutnätet liggande områden och låter giltiga syskonområden förbli aktiva utan att kasta något nytt setter-undantag
Bladkvalificerade och externa referenser är inte måloområden; varje regel tillhör sitt arbetsblad, och dollartecken får bara förekomma i vanliga A1-referenspositioner
Regeluppslag, borttagning av celler och intervall samt utvärderaren för villkorsformatering använder samma målgeometri; aggregerade regler räknar överlappande områden en gång och går bara igenom lagrade cellvärden, även när målet spänner över hela rutnätet
Från och med 2.384.77 omformar rad- och kolumnredigeringar även regelmål som täcker en hel axel inom arbetsbladets rutnät; en utsträckning som omfattar varje rad eller kolumn förblir fullständig när den axeln redigeras, medan redigeringar på den andra axeln flyttar, krymper eller tar bort målet
Kloning av intervall behåller kontraktet om full täckning: varenda målområde måste rymmas inom källrektangeln innan regeln kopieras, och enbart partiell överlappning kopierar inte en regel; mål som täcker en hel axel kan klonas från en hel-rad- eller hel-kolumn-källa när destinationen stannar inom rutnätet
Redigeringar inuti ett område bevarar de relativa uttryckens och celljämförelseformlernas domäner genom att vid behov dela upp ett mål och slå ihop delar som förblir likvärdiga vid en gemensam förankring; biblioteket reproducerar inte den extra formatering vid rutnätets slut som Excel kan kopiera implicit vid infogning
Exempel
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;
Villkorsstyrda talformat
Style.SetNumFormatId sätter ett differentiellt talformat oberoende av målcellens basformat; ID 0 är en explicit General-återställning, medan en frånvarande åsidosättning låter basformatet fortsätta gälla
Anpassade format-ID:n är 164 + Index, där Index är det nollbaserade resultatet av Workbook.NumberFormats.Add; XLSX-sparingen behåller format som bara refereras av villkorsregler och uppdaterar ID:na när formatpoolen komprimeras
Villkorsstilar i ODS
ODS-import och -export behåller de differentiella stilarna för regler av typen celljämförelse och uttryck: typsnittsfärg, namn, storlek, fet, kursiv och understrykning, heldragen eller transparent bakgrund samt de talformat som ODS-talformatkonverteraren stöder
Explicit svart, normal typsnittsvikt, ingen understrykning och transparent bakgrund förblir åsidosättningar; attribut som saknas i regeln fortsätter att använda målcellens basformatering
Tema- och indexerade färger exporteras som upplösta färger, så deras utseende överlever men deras tema- eller palettidentitet går inte runt via ODS; metadata för typsnittsschema saknar ODS-mappning
ODS använder vanlig enkel eller dubbel understrykning i stället för redovisningsunderstrykning, och mönsterfyllda fyllningar representeras av en bakgrundsfärg; åsidosättningar av ram och justering exponeras inte av TXLSDxfStyle
Den verifierade ODS-importen i Excel 16 behåller markeringsfärger, explicita återställningar, understrykning och procentformatering men ignorerar villkorsstyrd typsnittsfamilj och storlek; LibreOffice 26.2.5.2 läser de namngivna stilegenskaperna, och dess konverterade XLSX behåller dem i Excel
Från och med 2.384.75 använder ODS-regler för celljämförelse och uttryck kompakta upprepade tomma bärare över sina fullständiga mål, inklusive hela rader, hela kolumner och breda intervall; överlappande regler behåller sin ordning, och enbart bärarfyllnad skapar inga lagrade celler när HotXLS öppnar filen igen
Se även