找回密码
 立即注册

QQ登录

只需一步,快速开始

天涯路远
注册会员   /  发表于:2024-11-21 16:22  /   查看:70  /  回复:3
5金币
1、是否有监听单元格样式变化API

2、整列设置样式的时候,能否整列样式存储为一种数据格式用于恢复还原,比如数据验证,列类型
3、当前针对每一行每一列已经有唯一id绑定,需要将样式拆分成单元格对应的样式和列对应的样式是否有方案

3 个回复

正序浏览
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:3 天前
板凳
天涯路远 发表于 2024-11-21 19:30
如果用户针对整列设置了样式如何存储呢?比如,针对整列设置了枚举类型的数据验证,整列背景颜色

只要将对应的索引改为-1即可
image.png513006286.png
回复 使用道具 举报
天涯路远
注册会员   /  发表于:4 天前
沙发
Richard.Huang 发表于 2024-11-21 17:53
您好,单元格样式变化一般都是通过工具栏的设置实现的,因此,您可以直接监听工具栏的操作

第二个问题, ...

如果用户针对整列设置了样式如何存储呢?比如,针对整列设置了枚举类型的数据验证,整列背景颜色
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:4 天前
楼主
您好,单元格样式变化一般都是通过工具栏的设置实现的,因此,您可以直接监听工具栏的操作

  1. var spread = context.getWorkbook();
  2. spread.commandManager().addListener("anyscLicenser", function () {
  3.   for (const element of arguments) {
  4.     let cmd = element.command;
  5.     console.log(cmd);
  6.   }
  7. });
复制代码
第二个问题,单元格类型的属性在Style这个类上面,所以您可以通过getStyle的方式将您要存储的样式取出来然后通过toJSON的方式传输到后台存储,下一次要使用时,通过fromJSON复原即可,而数据验证并不是Style这个类的属性,因此需要单独设置,同样可以fromJSON和toJSON
  1. var style = sheet.getStyle(0, 0);
  2. var styleJSON = style.toJSON();
  3. var dv = sheet.getDataValidator(0, 0);
  4. var dvJSON = dv.toJSON();

  5. var newStyle = new GC.Spread.Sheets.Style()
  6. var newDv = new GC.Spread.Sheets.DataValidation.createListValidator();

  7. newStyle.fromJSON(styleJSON)
  8. newDv.fromJSON(dvJSON)
复制代码
对于您的第三个问题,我没太明白,能否重新描述一下,方便我为您提供对应的方案或者方法
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部