Документація HotXLS

Класична модель кольорів XLS

Висновок

HotXLS не додає члени ThemeColor / TintAndShade до класичного фасаду XLS lxHandle. Ці члени належать до новішої моделі стилів OOXML і не мають реального, підтримуваного при збереженні сховища BIFF .xls. Їх додавання до старого XLS API створило б оманливу поверхню: значення або були б втрачені при збереженні, або зведені до приблизного кольору палітри
Класичний XLS API lxHandle записує файли BIFF .xls. BIFF зберігає кольори шрифту, рамки та заливки через індекси палітри, а не слоти кольорів теми Office

Використання Color, ColorIndex і Workbook.Colors

Використовуйте Color, якщо хочете призначити RGB-значення. HotXLS зіставляє це RGB-значення з поточною палітрою робочої книги. Використовуйте ColorIndex, якщо хочете безпосередньо адресувати слот палітри. Використовуйте IXLSWorkbook.Colors для налаштування записів палітри

Кольори теми та відтінок

ThemeColor і TintAndShade — це концепції стилів OOXML .xlsx. Класичний XLS-фасад не відкриває ці властивості, тому що робоча книга BIFF не має еквівалентного сховища теми/відтінку, яке Excel міг би зберегти як метадані теми
Якщо вихідний код використовує кольори теми, а цільовий файл — .xls, спочатку перетворіть комбінацію теми/відтінку на RGB-колір, а потім призначте Color або власний запис палітри. Якщо зв'язок теми повинен залишатися редагованим в Excel, використовуйте фасад XLSX (lxHandleX) і його властивості стилів із підтримкою тем

Приклад

Цей приклад налаштовує слот палітри і використовує його для заливки комірки в класичній робочій книзі XLS

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