我项目一个sheet大约有5000行,300列左右,我们有需求就是当某列的值分别是红,绿,蓝,灰,等情况下,这一行字体颜色或背景色要变成对应的颜色值。
类似下图的“合计1”字段效果
现在有2个问题,一个是为了减少代码量,我把应用范围设置为全部行列
- style_red.foreColor = "red";style_blue.foreColor = "red";
- var ranges = [new GC.Spread.Sheets.Range(-1,-1,-1,-1)];
复制代码 这样哪怕是新增行,也会自动继承条件格式的样式,无需编码控制。
问题1,在大量数据(几千行几百列的情况下,挂起绘制)下,会导致界面卡顿,尤其是新增行操作,要600-800毫秒,比较卡。
问题2,我很困惑的是,比如上面的方式range是全部行列-1,-1,-1,-1,为何我改变其中的某一行的某列的值,这一行的文字都会自动变色,而不是全部的行列的文字,虽然效果确实是我要的样子,但是不明白为何刚好是这样。
问题3,addFormulaRule一定得指定列的坐标$d1这样的值,实际我们的列是动态的位置(用户可以手工排序),所以这个坐标不好写死,如果换成addCellValueRule方法,那么这个列名要怎么写呢
|
|