TXLSXConditionalFormats Verzögertes Differenzformat für Zell- und Ausdrucksregeln TXLSXWorksheet.ConditionalFormats Definieren einen normalen Zellvergleich
Definieren einen normalen Zellvergleich
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;
DataBar, ColorScale and IconSet
| Range, Op, Formula1 and Formula2 | Verzögertes Differenzformat für Zell- und Ausdrucksregeln |
| Style | Visuelle Inhalte der jeweiligen Regelarten |
| DataBar, ColorScale and IconSet | Steuern Reihenfolge und vorzeitigen Abbruch |
| Priority and StopIfTrue | Text, Rank, Percent, Bottom and AboveAverage |
| Text, Rank, Percent, Bottom and AboveAverage | Parameter für Text-, obere, untere und Durchschnittsregeln |
| TimePeriod | Relatives Datumsband für Zeitregeln |
Zielbereiche von Regeln
Seit 2.384.76 akzeptieren blattlokale Ziele einzelne Zellen, Zellrechtecke, ganze Spalten wie $B:$D und ganze Zeilen wie $5:$8; umgekehrte Endpunkte werden normalisiert, und Leerzeichen, Tabulatoren oder Zeilenumbrüche trennen mehrere Bereiche
Absolute und gemischte Verweise behalten ihren ursprünglichen Range-Text; der Abgleich verwendet Zeilen 1 bis 1048576 und Spalten A bis XFD, überspringt fehlerhafte oder außerhalb des Rasters liegende Bereiche und hält gültige Geschwisterbereiche aktiv, ohne eine neue Setter-Exception auszulösen
Blattqualifizierte und externe Verweise sind keine Zielbereiche; jede Regel gehört zu ihrem Arbeitsblatt, und Dollarzeichen müssen an gewöhnlichen A1-Referenzpositionen stehen
Regelsuche, Zell- und Bereichslöschung und der Evaluator der bedingten Formatierung verwenden dieselbe Zielgeometrie; Aggregatregeln zählen sich überlappende Bereiche einmal und besuchen nur gespeicherte Zellwerte, selbst wenn das Ziel das gesamte Raster umspannt
Seit 2.384.77 transformieren Zeilen- und Spaltenänderungen auch Regelziele über ganze Achsen innerhalb des Arbeitsblattrasters; eine Ausdehnung über jede Zeile oder Spalte bleibt vollständig, wenn diese Achse geändert wird, während Änderungen der anderen Achse das Ziel verschieben, verkleinern oder entfernen
Das Klonen von Bereichen behält den Vertrag der vollständigen Abdeckung bei: Jeder Zielbereich muss vor dem Kopieren der Regel in das Quellrechteck passen, und bloße Teilüberschneidung kopiert keine Regel; Ziele über ganze Achsen lassen sich aus einer Quellzeile oder -spalte klonen, solange das Ziel innerhalb des Rasters bleibt
Änderungen im Inneren bewahren die relativen Formelbereiche von Ausdrucks- und Zellvergleichsregeln, indem sie ein Ziel bei Bedarf aufteilen und Teile zusammenführen, die an einem gemeinsamen Anker äquivalent bleiben; die Bibliothek bildet die zusätzliche Formatierung am Rasterende nicht nach, die Excel beim Einfügen implizit mitkopieren kann
Relatives Datumsband für Zeitregeln
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;Zahlenformate der bedingten Formatierung
Style.SetNumFormatId setzt ein differenzielles Zahlenformat unabhängig vom Basisformat der Zielzelle; die ID 0 ist ein explizites General-Reset, während eine fehlende Überschreibung das Basisformat in Kraft lässt
Benutzerdefinierte Format-IDs sind 164 + Index, wobei Index das nullbasierte Ergebnis von Workbook.NumberFormats.Add ist; das XLSX-Speichern behält Formate, auf die nur bedingte Regeln verweisen, und aktualisiert die IDs, wenn der Formelpool verdichtet wird
Bedingte ODS-Stile
ODS-Import und -Export behalten die differenziellen Stile von Zellvergleichs- und Ausdrucksregeln bei: Schriftfarbe, Name, Größe, fett, kursiv und Unterstreichung, solider oder transparenter Hintergrund sowie Zahlenformate, die der ODS-Zahlenformat-Konverter unterstützt
Explizites Schwarz, normales Schriftgewicht, keine Unterstreichung und transparenter Hintergrund bleiben Überschreibungen; Attribute, die in der Regel fehlen, verwenden weiterhin die Basisformatierung der Zielzelle
Design- und Indexpfarben werden als aufgelöste Farben exportiert: Das Aussehen bleibt erhalten, aber ihre Design- bzw. Palettenidentität übersteht den ODS-Roundtrip nicht; Schriftschema-Metadaten haben keine ODS-Zuordnung
ODS verwendet gewöhnliche einfache oder doppelte Unterstreichung statt der Buchhaltungs-Unterstreichung, und gemusterte Füllungen werden durch eine Hintergrundfarbe repräsentiert; Rahmen- und Ausrichtungs-Überschreibungen stellt TXLSDxfStyle nicht bereit
Der verifizierte Excel-16-ODS-Import behält Hervorhebungsfarben, explizite Zurücksetzungen, Unterstreichung und Prozentformatierung bei, ignoriert aber bedingte Schriftfamilie und -größe; LibreOffice 26.2.5.2 liest diese Eigenschaften benannter Stile, und sein konvertiertes XLSX behält sie in Excel
Seit 2.384.75 verwenden ODS-Regeln für Zellvergleiche und Ausdrücke kompakte wiederholte leere Trägerzellen über ihre kompletten Ziele hinweg, einschließlich ganzer Zeilen, ganzer Spalten und breiter Bereiche; sich überlappende Regeln behalten ihre Reihenfolge, und nur Trägerzellen umfassende Füllung erzeugt beim erneuten Öffnen durch HotXLS keine gespeicherten Zellen
Beispiel