HotXLS-Dokumentation

Klassisches XLS-Farbmodell

Fazit

HotXLS fügt der klassischen lxHandle XLS-Fassade keine ThemeColor- / TintAndShade-Elemente hinzu. Diese Elemente gehören zum neueren OOXML-Stilmodell und haben kein echtes, verlustfreies BIFF-.xls-Speicherziel. Das Hinzufügen dieser Elemente zur alten XLS-API würde eine irreführende Oberfläche schaffen: Werte würden beim Speichern entweder verloren gehen oder auf eine ungefähre Palettenfarbe reduziert werden
Die klassische lxHandle XLS-API schreibt BIFF-.xls-Dateien. BIFF speichert Schriftart-, Rahmen- und Füllfarben über Palettenindizes, nicht über Office-Designfarben-Slots

Color, ColorIndex und Workbook.Colors verwenden

Verwenden Sie Color, wenn Sie einen RGB-Wert zuweisen möchten. HotXLS ordnet diesen RGB-Wert der aktuellen Arbeitsmappen-Palette zu. Verwenden Sie ColorIndex, wenn Sie einen Paletten-Slot direkt ansprechen möchten. Verwenden Sie IXLSWorkbook.Colors, um Paletteneinträge anzupassen

Designfarben und Tönung/Schattierung

ThemeColor und TintAndShade sind OOXML-.xlsx-Stilkonzepte. Die klassische XLS-Fassade stellt diese Eigenschaften nicht bereit, da eine BIFF-Arbeitsmappe keinen gleichwertigen Design-/Tönung-Speicher hat, den Excel als Design-Metadaten übertragen kann
Wenn Quellcode Designfarben verwendet und die Zieldatei .xls ist, lösen Sie die Design-/Tönung-Kombination zunächst in eine RGB-Farbe auf und weisen Sie dann Color oder einen benutzerdefinierten Paletteneintrag zu. Wenn die Designbeziehung in Excel bearbeitbar bleiben soll, verwenden Sie die XLSX-Fassade (lxHandleX) und deren designbewusste Stileigenschaften

Beispiel

Dieses Beispiel passt einen Paletten-Slot an und verwendet ihn für eine Zellfüllung in einer klassischen XLS-Arbeitsmappe

Workbook.Colors[8, 0] := RGB(42, 107, 191);
Workbook.Worksheets[1].Range['A1', 'D1'].Interior.ColorIndex := 8;