ApplyBiffPalettePlan 方法
验证并以原子方式应用 BIFF 调色板计划中的 56 个目标颜色
该方法在 IXLSWorkbook 和 TXLSXWorkbook 上均可用
语法
function ApplyBiffPalettePlan( const APlan: TXLSBiffPalettePlan): Boolean;
验证
当计划与当前工作簿调色板不匹配时,该方法返回 False 且不更改任何槽位
验证涵盖源调色板世代与 FNV-1a 哈希、全部 56 个公共与物理槽位索引、每个源颜色、锁定与已更改标志、聚合槽位计数以及不透明的目标颜色
发生任何有效的调色板更改之后(包括此前成功应用过该计划本身),计划即告过期
原子化应用
全部验证都会在第一个调色板条目更改之前完成
经典 XLS 更新固定的调色板数组,并重新构建其缓存的 OKLab 匹配器一次
XLSX 先准备好替换用的索引颜色覆盖列表,再将其换入工作簿,同样重新构建一次匹配器
锁定的槽位永远不会更改,而没有已更改槽位的有效计划会成功应用,且不推进调色板世代
示例
Plan := Workbook.BuildBiffPalettePlan;
if not Workbook.ApplyBiffPalettePlan(Plan) then
raise Exception.Create('The palette changed after planning');