这边重新尝试复现了一下项目的场景;
行数约1w行,客户要求不分页展示;
列数约10列,其中4列存在条件格式;
不开启条件格式表格渲染时间为1s:
开启后渲染时间为60s+;
本地复现性能损耗如下图;
条件格式处代码为:
thisrow = getKey(data.rowDataArray, rownm);//获取当前条件格式覆盖的所有行
thiscol = getKey(data.columnDataArray, colnm);//获取当前条件格式覆盖的所有列
if (thisrow && thiscol) {//根据条件格式覆盖的行列交叉得到条件格式生效单元格
for (let x = 0; x < thisrow.length; x++) {
for (let y = 0; y < thiscol.length; y++) {
sheet.addSelection(thisrow[x], thiscol[y], 1, 1);
}
}
var currentRange = sheet.getSelections();
var style = new GC.Spread.Sheets.Style();
style[type] = color;
sheet.conditionalFormats.addFormulaRule(formatterStr, style, currentRange);
}
有没有其他性能更高的条件格式函数;
|