找回密码
 立即注册

QQ登录

只需一步,快速开始

shmkp

初级会员

30

主题

98

帖子

280

积分

初级会员

积分
280
shmkp
初级会员   /  发表于:2023-8-24 14:47  /   查看:1084  /  回复:8
1金币
本帖最后由 Lynn.Dou 于 2024-1-24 17:12 编辑

产品:SpreadJS

我想锁定一部分区域不能编辑,但是在另一部分区域可编辑,是一个sheet 里

最佳答案

查看完整内容

可以实现 只有工作表sheet的锁定状态和区域range的锁定状态同时为“锁定”时,该区域才处于被保护状态,不可编辑。 要实现“部分区域不可编辑,一部分区域可编辑”,可以分三步实现: 1. 选中所有行列,锁定该区域 2. 选中可编辑的区域,解锁该区域 3. 锁定工作表sheet 例如:第2列可编辑,其他区域不可编辑 可参考如下代码:

8 个回复

倒序浏览
最佳答案
最佳答案
Banana
注册会员   /  发表于:2023-8-24 14:47:51
来自 2#
本帖最后由 Banana 于 2023-9-21 11:12 编辑

可以实现


只有工作表sheet的锁定状态和区域range的锁定状态同时为“锁定”时,该区域才处于被保护状态,不可编辑。
要实现“部分区域不可编辑,一部分区域可编辑”,可以分三步实现:
1. 选中所有行列,锁定该区域
2. 选中可编辑的区域,解锁该区域
3. 锁定工作表sheet


例如:第2列可编辑,其他区域不可编辑
可参考如下代码:


  1. // 提示:-1代表选中所有;第2列的索引是1
  2. sheet.getRange(-1, -1, -1, -1).locked(true)
  3. sheet.getRange(-1, 1, -1, 1).locked(false)
  4. sheet.options.isProtected = true
复制代码

回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-8-24 15:12:25
3#
您好,请参考楼上同学的回复看能否满足您的需求。
回复 使用道具 举报
shmkp
初级会员   /  发表于:2023-9-20 10:28:11
4#

但是 sheet1.getRange(-1, 1, -1, 1).locked(false)这样没有效果
sheet1.getRange(1, 1, 1, 1).locked(false),这样有效果
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-9-20 14:21:29
5#
您说的没有效果指的是什么意思?

我这边测试了一下,是可以正常将第二列的单元格的锁定状态置为false的:

image.png808664855.png
SpreadJS 17.0.8 | GcExcel 7.1.1 已发布~
回复 使用道具 举报
shmkp
初级会员   /  发表于:2023-12-21 15:02:56
6#
Joestar.Xu 发表于 2023-9-20 14:21
您说的没有效果指的是什么意思?

我这边测试了一下,是可以正常将第二列的单元格的锁定状态置为false的 ...

  sheet.getRange(1, 0, 1, 0).locked(false) 设置之后,为啥 0,0 行单元格还是不能编辑
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-12-21 15:45:23
7#
您好,需要您注意一下getRange这个接口的参数:

image.png723405456.png

前两个参数是range的起始位置,后两个参数是range的行数和列数,如果行数或列数为0,则代表这是一个空range,将不会有任何效果。

如果要对(0, 0)单元格设置locked属性为false,应为:

sheet.getRange(0, 0, 1, 1).locked(false)
SpreadJS 17.0.8 | GcExcel 7.1.1 已发布~
回复 使用道具 举报
shmkp
初级会员   /  发表于:2023-12-21 17:05:25
8#
Joestar.Xu 发表于 2023-12-21 15:45
您好,需要您注意一下getRange这个接口的参数:

好的,解决了
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-12-21 17:36:25
9#
好的,那就先结贴了,后续有其他问题的话随时开新帖提问哈。
SpreadJS 17.0.8 | GcExcel 7.1.1 已发布~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部