找回密码
 立即注册

QQ登录

只需一步,快速开始

chaiwei

注册会员

9

主题

21

帖子

78

积分

注册会员

积分
78
chaiwei
注册会员   /  发表于:2024-7-15 11:21  /   查看:1095  /  回复:4
1金币
启用了表单保护后,想要对未锁定的列数据进行替换,但是提示不允许。
手动修改那个列是可以成功的。

image.png272908324.png image.png555998534.png

最佳答案

查看完整内容

是的,设计器原生上和Excel一致,限制了表单保护情况下替换功能的使用,如果您需要在表单保护的情况下使用替换功能,最好是您自行实现。

4 个回复

倒序浏览
最佳答案
最佳答案
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-7-15 11:21:07
来自 5#
是的,设计器原生上和Excel一致,限制了表单保护情况下替换功能的使用,如果您需要在表单保护的情况下使用替换功能,最好是您自行实现。
回复 使用道具 举报
eat_grape_5
高级会员   /  发表于:2024-7-15 15:31:08
2#
“全部替换”作用于整张工作表,而工作表是受保护状态,不允许对受保护状态的工作表修改内容。既然楼主对需要查找替换数据的列解锁了单元格保护,那单独对这种单元格操作是正常操作。
楼主的需求解决思路如下:
1. 通过Worksheet:searcch()执行查找,查找结果中包含单元格位置信息。
2. 根据单元格位置信息访问单元格,并对其修改数据。
3. 如果涉及的数据量较多,可以使用暂停绘制和恢复绘制机制规避渲染性能问题。

可参考官网教程了解查询详情:https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/features/workbook/search/purejs
可参考API文档了解接口详情:https://demo.grapecity.com.cn/sp ... ts.Worksheet#search

评分

参与人数 1金币 +500 收起 理由
Joestar.Xu + 500 很给力!

查看全部评分

回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-7-15 17:37:44
3#
您好,如楼上热心用户所述,在表单保护的情况下无法针对表单使用替换功能,可以使用searcch接口来进行相关的替换操作。
回复 使用道具 举报
chaiwei
注册会员   /  发表于:2024-7-16 10:36:15
4#
Joestar.Xu 发表于 2024-7-15 17:37
您好,如楼上热心用户所述,在表单保护的情况下无法针对表单使用替换功能,可以使用searcch接口来进行相关 ...

但我现在想要的是,用户直接使用设计器的替换功能进行操作。
设计器的替换功能就是不支持这么做,只能自己实现是吗?


  1.     sheet.options.isProtected = true;

  2.     const style = new GC.Spread.Sheets.Style();
  3.     style.locked = false;
  4.     style.name = 'baseCommonStyle'
  5.     sheet.addNamedStyle(style);
  6.     sheet.setDefaultStyle(style);

  7.     const style = sheet.getActualStyle(-1, 1);
  8.     style.locked = true;
  9.     sheet.setStyle(-1, 1, style);
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部