Documentație HotXLS

Modelul de culori XLS clasic

Concluzie

HotXLS nu adaugă membrii ThemeColor / TintAndShade la fațada XLS clasică lxHandle. Acești membri aparțin modelului de stil OOXML mai nou și nu au o țintă de stocare BIFF .xls reală, cu dus-întors. Adăugarea lor la vechiul API XLS ar crea o suprafață înșelătoare: valorile ar fi fie pierdute la salvare, fie reduse la o culoare aproximativă de paletă
API-ul XLS clasic lxHandle scrie fișiere BIFF .xls. BIFF stochează culorile fontului, bordurii și umplerii prin indecși de paletă, nu prin sloturi de culori temă Office

Utilizarea Color, ColorIndex și Workbook.Colors

Utilizați Color când doriți să atribuiți o valoare RGB. HotXLS mapează acea valoare RGB la paleta curentă a registrului de lucru. Utilizați ColorIndex când doriți să adresați direct un slot de paletă. Utilizați IXLSWorkbook.Colors pentru a personaliza intrările din paletă

Culori temă și nuanță/umbră

ThemeColor și TintAndShade sunt concepte de stil OOXML .xlsx. Fațada XLS clasică nu expune aceste proprietăți deoarece un registru de lucru BIFF nu are stocare echivalentă temă/nuanță pe care Excel să o poată transfera ca metadate de temă
Dacă codul sursă utilizează culori de temă și fișierul țintă este .xls, rezolvați mai întâi combinația temă/nuanță la o culoare RGB, apoi atribuiți Color sau o intrare personalizată în paletă. Dacă relația de temă trebuie să rămână editabilă în Excel, utilizați fațada XLSX (lxHandleX) și proprietățile sale de stil cu conștientizare a temei

Exemplu

Acest exemplu personalizează un slot de paletă și îl utilizează pentru o umplere de celulă într-un registru de lucru XLS clasic

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