Wniosek
HotXLS nie dodaje elementów ThemeColor / TintAndShade do klasycznej fasady XLS lxHandle. Te elementy należą do nowszego modelu stylów OOXML i nie mają rzeczywistego, możliwego do przesyłania docelowego magazynu BIFF .xls. Dodanie ich do starego API XLS stworzyłoby mylącą powierzchnię: wartości zostałyby utracone przy zapisie lub zredukowane do przybliżonego koloru palety
Klasyczne API XLS lxHandle zapisuje pliki BIFF .xls. BIFF przechowuje kolory czcionki, obramowania i wypełnienia przez indeksy palety, nie przez sloty kolorów motywu Office
Użyj Color, ColorIndex i Workbook.Colors
Użyj
Color, gdy chcesz przypisać wartość RGB. HotXLS mapuje tę wartość RGB na bieżącą paletę skoroszytu. Użyj
ColorIndex, gdy chcesz bezpośrednio zaadresować slot palety. Użyj
IXLSWorkbook.Colors, aby dostosować wpisy palety
Kolory motywu i odcień/cieniowanie
ThemeColor i TintAndShade to koncepcje stylu OOXML .xlsx. Klasyczna fasada XLS nie udostępnia tych właściwości, ponieważ skoroszyt BIFF nie ma równoważnego magazynu motywu/odcienia, który Excel może obsługiwać jako metadane motywu
Jeśli kod źródłowy używa kolorów motywu, a plik docelowy to .xls, najpierw rozwiąż kombinację motywu/odcienia do koloru RGB, a następnie przypisz Color lub niestandardowy wpis palety. Jeśli relacja motywu musi pozostać edytowalna w programie Excel, użyj fasady XLSX (lxHandleX) i jej właściwości stylu uwzględniających motyw
Przykład
Ten przykład dostosowuje slot palety i używa go do wypełnienia komórki w klasycznym skoroszycie XLS
Workbook.Colors[8, 0] := RGB(42, 107, 191);
Workbook.Worksheets[1].Range['A1', 'D1'].Interior.ColorIndex := 8;