บทสรุป
HotXLS ไม่เพิ่มสมาชิก ThemeColor / TintAndShade ลงใน facade XLS lxHandle แบบคลาสสิก สมาชิกเหล่านั้นอยู่ในโมเดลสไตล์ OOXML ใหม่และไม่มีเป้าหมายการจัดเก็บ BIFF .xls ที่แท้จริงที่สามารถใช้งานได้ การเพิ่มสมาชิกเหล่านั้นลงใน API XLS เก่าจะสร้างพื้นผิวที่เข้าใจผิด: ค่าจะสูญหายเมื่อบันทึกหรือลดลงเป็นสีพาเลตต์โดยประมาณ
API XLS lxHandle แบบคลาสสิกเขียนไฟล์ BIFF .xls BIFF จัดเก็บสีฟอนต์ เส้นขอบ และการเติมสีผ่านดัชนีพาเลตต์ ไม่ใช่ช่องสีธีม Office
ใช้ Color, ColorIndex และ Workbook.Colors
ใช้
Color เมื่อคุณต้องการกำหนดค่า RGB HotXLS จะแมปค่า RGB นั้นกับพาเลตต์สมุดงานปัจจุบัน ใช้
ColorIndex เมื่อคุณต้องการระบุช่องพาเลตต์โดยตรง ใช้
IXLSWorkbook.Colors เพื่อปรับแต่งรายการพาเลตต์
สีธีมและ tint/shade
ThemeColor และ TintAndShade เป็นแนวคิดสไตล์ OOXML .xlsx facade XLS แบบคลาสสิกไม่เปิดเผยคุณสมบัติเหล่านั้นเนื่องจากสมุดงาน BIFF ไม่มีพื้นที่จัดเก็บธีม/ทินต์เทียบเท่าที่ Excel สามารถรักษาข้อมูลเป็นเมตาดาต้าธีมได้
หากโค้ดต้นฉบับใช้สีธีมและไฟล์เป้าหมายเป็น .xls ให้แก้ไขการรวมกันของธีม/ทินต์เป็นสี RGB ก่อน จากนั้นกำหนด Color หรือรายการพาเลตต์แบบกำหนดเอง หากความสัมพันธ์ธีมต้องแก้ไขได้ใน Excel ให้ใช้ facade XLSX (lxHandleX) และคุณสมบัติสไตล์ที่รับรู้ธีม
ตัวอย่าง
ตัวอย่างนี้ปรับแต่งช่องพาเลตต์และใช้งานสำหรับการเติมสีเซลล์ในสมุดงาน XLS แบบคลาสสิก
Workbook.Colors[8, 0] := RGB(42, 107, 191);
Workbook.Worksheets[1].Range['A1', 'D1'].Interior.ColorIndex := 8;