找回密码
 立即注册

QQ登录

只需一步,快速开始

王五子

金牌服务用户

10

主题

27

帖子

95

积分

金牌服务用户

积分
95

[已处理] V17样式覆盖问题

王五子
金牌服务用户   /  发表于:2024-8-16 15:36  /   查看:772  /  回复:5
怎么实现设定背景色的同时【目前使用的设置背景色api以及方式如下图】不覆盖原有样式比如导入模板时自带的居中和单元格合并

image.png123387145.png

5 个回复

倒序浏览
Wilson.Zhang
超级版主   /  发表于:2024-8-16 17:11:44
沙发
您好!在对某个已经设置了样式的单元格新设置某些样式属性时,为了防止样式覆盖,可以先获取该单元格的样式对象,然后在获取到的样式对象上设置诸如字体、背景色这样的样式属性。
回复 使用道具 举报
王五子
金牌服务用户   /  发表于:2024-8-18 15:52:48
板凳
Wilson.Zhang 发表于 2024-8-16 17:11
您好!在对某个已经设置了样式的单元格新设置某些样式属性时,为了防止样式覆盖,可以先获取该单元格的样式 ...

有没有可以新增单元格背景色的api阿,就是不要是设置完背景色那我之前的所有样式都被覆盖掉
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-8-19 09:22:22
地板
王五子 发表于 2024-8-18 15:52
有没有可以新增单元格背景色的api阿,就是不要是设置完背景色那我之前的所有样式都被覆盖掉

有,通过CellRange:backColor()可以为单元格或单元格区域设置背景色,而该背景色将作为单元格上已经存在的样式对象的backColor属性存在,参考如下代码:
  1. var cell = sheet.getCell(0, 0);
  2. cell.backColor('red');
复制代码
回复 使用道具 举报
王五子
金牌服务用户   /  发表于:2024-8-19 14:30:36
5#
Wilson.Zhang 发表于 2024-8-19 09:22
有,通过CellRange:backColor()可以为单元格或单元格区域设置背景色,而该背景色将作为单元格上已经存在 ...

当该单元格区域有背景色是使用此api会报错,是否有清除背景色的api但是保留其他样式,或者能够不报错并且覆盖原有背景色的api
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-8-19 15:09:59
6#
王五子 发表于 2024-8-19 14:30
当该单元格区域有背景色是使用此api会报错,是否有清除背景色的api但是保留其他样式,或者能够不报错并且 ...

我测试了下,没有出现您所说的“当该单元格区域有背景色是使用此api会报错”,如下动图所示,请观察图中右侧浏览器控制台中更换单元格背景颜色的代码和代码产生的效果:

单元格替换背景颜色.gif

清除背景单元格背景色也是通过CellRange:backColor(),传参为空字符串或null即可。

您可以再尝试下。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部