找回密码
 立即注册

QQ登录

只需一步,快速开始

Derrick.Jiao 讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-11-2 16:14  /   查看:1577  /  回复:0
本帖最后由 Derrick.Jiao 于 2021-11-2 16:25 编辑

在开始前我们先看一段代码
  1. var style = new GC.Spread.Sheets.Style();
  2. style.backColor = "red";
  3. sheet.setStyle(0,0,style)
  4. sheet.getCell(0,0).backColor("yellow");
  5. sheet.setStyle(1,1,style);
复制代码

看完之后,大家觉得(0,0)和(1,1)单元格的背景色分别是什么?答案揭晓,两个单元格的背景色都是黄色
image.png415118102.png
1635840972(1).png349134215.png

是不是对B2单元格显示黄色不太理解?原因在于使用setStyle后,在用sheet.getCell(x,x).backColor(),更改的背景色将会同步同一样式对象上。此时,我们再用style.backColor就会发现已经由原来的红色改为黄色了。

那么如何让B2单元格显示红色呢?只需要要使用我们标题的接口clone即可。修改代码如下,用clone来保持修改前的背景样式。
  1. var style = new GC.Spread.Sheets.Style();
  2.                 style.backColor = "red";
  3.                 sheet.setStyle(0,0,style.clone())
  4.                 sheet.getCell(0,0).backColor("yellow");
  5.                 sheet.setStyle(1,1,style);
复制代码


image.png664007873.png



0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部