Tài liệu HotXLS

Mô hình màu XLS cổ điển

Kết luận

HotXLS không thêm các thành viên ThemeColor / TintAndShade vào facade XLS lxHandle cổ điển. Các thành viên đó thuộc về mô hình kiểu OOXML mới hơn và không có mục tiêu lưu trữ BIFF .xls thực sự có thể round-trip. Thêm chúng vào API XLS cũ sẽ tạo ra một bề mặt gây hiểu nhầm: các giá trị sẽ bị mất khi lưu hoặc bị rút gọn thành màu bảng màu gần đúng
API XLS lxHandle cổ điển ghi các tệp BIFF .xls. BIFF lưu màu phông chữ, viền và tô màu thông qua các chỉ mục bảng màu, không phải các khe màu chủ đề Office

Dùng Color, ColorIndex và Workbook.Colors

Dùng Color khi bạn muốn gán một giá trị RGB. HotXLS ánh xạ giá trị RGB đó vào bảng màu sổ làm việc hiện tại. Dùng ColorIndex khi bạn muốn địa chỉ trực tiếp một khe bảng màu. Dùng IXLSWorkbook.Colors để tùy chỉnh các mục bảng màu

Màu chủ đề và tint/shade

ThemeColorTintAndShade là các khái niệm kiểu .xlsx OOXML. Facade XLS cổ điển không hiển thị các thuộc tính đó vì sổ làm việc BIFF không có bộ nhớ theme/tint tương đương mà Excel có thể round-trip dưới dạng siêu dữ liệu chủ đề
Nếu mã nguồn sử dụng màu chủ đề và tệp đích là .xls, hãy giải quyết kết hợp theme/tint thành màu RGB trước, sau đó gán Color hoặc một mục bảng màu tùy chỉnh. Nếu mối quan hệ chủ đề phải còn có thể chỉnh sửa trong Excel, hãy dùng facade XLSX (lxHandleX) và các thuộc tính kiểu nhận biết chủ đề của nó

Ví dụ

Ví dụ này tùy chỉnh một khe bảng màu và sử dụng nó cho màu tô ô trong một sổ làm việc XLS cổ điển

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