找回密码
 立即注册

QQ登录

只需一步,快速开始

Mrluo

初级会员

23

主题

62

帖子

213

积分

初级会员

积分
213
Mrluo
初级会员   /  发表于:2023-11-14 10:54  /   查看:864  /  回复:5
1金币
本帖最后由 Richard.Huang 于 2023-11-15 09:55 编辑

产品:SpreadJS
版本:V16

locked的优先级是 cell>row>column>sheet
现在我导入了一个excel模板,问题:
1.我想知道某个cell的locked是继承哪里的?是cell自己设置还是row设置的,还是column还是来自sheet的默认,如何区分?一个个判断吗?
2.我如何清除所有的单元格的设置的locked(因为可能导入的模板设置了cell级别的lock,比如一行锁定的做法有直接行锁定 ,或者一个个单元格的锁定),我想导入文件 以后,清除所有的cell locked 然后按照统一写法 sheet.getRange(0,-1,1,-1)这种行级别的锁定?

现在我遇到的问题是我使用sheet.getRange(0,-1,1,-1).locked(false)发现单元格还是不能编辑,如果我使用sheet.getRange(0,0,1,20)例如这种直接写死列count的方法设置这个 locked就可以,但是效率没有前面-1的这种 写法好

最佳答案

查看完整内容

您好,对于您的两个问题,我来进行分别回答,对于您的第一个问题我们没有对应的API去获取当前单元格的locked属性是在那一层上的,我们getCell(0,0).locked()返回的是最终生效的locked属性。对于该问题请问您具体需求是什么,为什么需要去知道当前单元格的locked属性继承自哪里呢? 对于您的第二个问题,我们可以通过给locked方法传入参数undefined来实现: // 示例 sheet.getRange(0,0,9,4).locked(undefined) 对于您最后 ...

5 个回复

倒序浏览
最佳答案
最佳答案
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-11-14 10:54:28
来自 2#
本帖最后由 Richard.Huang 于 2023-11-14 16:41 编辑

您好,对于您的两个问题,我来进行分别回答,对于您的第一个问题我们没有对应的API去获取当前单元格的locked属性是在那一层上的,我们getCell(0,0).locked()返回的是最终生效的locked属性。对于该问题请问您具体需求是什么,为什么需要去知道当前单元格的locked属性继承自哪里呢?

对于您的第二个问题,我们可以通过给locked方法传入参数undefined来实现:
// 示例
sheet.getRange(0,0,9,4).locked(undefined)

对于您最后一个问题的原因是,getRange(0,0,1,20)实际上就是Cell级别的locked属性设置,因此优先级是最高的,而通过-1的写法设置的是行级别的locked属性。这是没有生效的原因
回复 使用道具 举报
Mrluo
初级会员   /  发表于:2023-11-14 16:30:06
4#
Richard.Huang 发表于 2023-11-14 12:30
您好,对于您的两个问题,我来进行分别回答,对于您的第一个问题我们没有对应的API去获取当前单元格的locke ...

第一个问题就是用户导入一个 表格,我们设置了表单保护以后发现有些单元格无法编辑,想知道是行锁还是列锁还是就当前单元格自己的锁,用于排查问题。
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-11-14 16:48:13
5#
Mrluo 发表于 2023-11-14 16:30
第一个问题就是用户导入一个 表格,我们设置了表单保护以后发现有些单元格无法编辑,想知道是行锁还是列 ...

您好,了解了您的需求了,对此我们没有很好的办法去进行到底这个locked属性设置在哪一级别,只能建议您通过最高的单元格的优先级去控制它最终locked属性呈什么样。和上面提及的一样,getRange(0,0,rowCount,colCount)实际上也是挨个挨个给单元格设置locked属性,因此如果您涉及的数据范围很大时,会比行列级别的locked属性设置慢
回复 使用道具 举报
Mrluo
初级会员   /  发表于:2023-11-14 16:54:09
6#
Richard.Huang 发表于 2023-11-14 16:48
您好,了解了您的需求了,对此我们没有很好的办法去进行到底这个locked属性设置在哪一级别,只能建议您通 ...

因为用户导入的东西可能做 了一些设置,我们无法得知,产品说锁定某个(匹配某个规则的)列或者行,只能设置cell级别的 ,不然都 可能失效
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-11-14 18:07:40
7#
Mrluo 发表于 2023-11-14 16:54
因为用户导入的东西可能做 了一些设置,我们无法得知,产品说锁定某个(匹配某个规则的)列或者行,只能 ...

您好,就目前的信息来看,确实只能通过单元格级别的locked属性设置才能满足您的需求
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部