Заключение
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;