Docs HotXLS

Modèle de couleurs XLS classique

Conclusion

HotXLS n'ajoute pas de membres ThemeColor / TintAndShade à la façade XLS classique lxHandle. Ces membres appartiennent au modèle de style OOXML le plus récent et n'ont pas de cible de stockage BIFF .xls réelle pouvant être reprise par round-trip. Les ajouter à l'ancienne API XLS créerait une surface trompeuse : les valeurs seraient soit perdues à l'enregistrement, soit réduites à une couleur de palette approximative
L'API XLS classique lxHandle écrit des fichiers BIFF .xls. BIFF stocke les couleurs de police, de bordure et de remplissage via des index de palette, et non via des emplacements de couleur de thème Office

Utiliser Color, ColorIndex et Workbook.Colors

Utilisez Color lorsque vous souhaitez assigner une valeur RGB. HotXLS mappe cette valeur RGB sur la palette du classeur courant. Utilisez ColorIndex lorsque vous souhaitez adresser directement un emplacement de palette. Utilisez IXLSWorkbook.Colors pour personnaliser les entrées de palette

Couleurs de thème et teinte/ombrage

ThemeColor et TintAndShade sont des concepts de style OOXML .xlsx. La façade XLS classique n'expose pas ces propriétés car un classeur BIFF n'a pas de stockage de thème/teinte équivalent qu'Excel puisse recharger en round-trip comme métadonnées de thème
Si le code source utilise des couleurs de thème et que le fichier cible est .xls, résolvez d'abord la combinaison thème/teinte en une couleur RGB, puis assignez Color ou une entrée de palette personnalisée. Si la relation de thème doit rester modifiable dans Excel, utilisez la façade XLSX (lxHandleX) et ses propriétés de style sensibles au thème

Exemple

Cet exemple personnalise un emplacement de palette et l'utilise pour un remplissage de cellule dans un classeur XLS classique

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