找回密码
 立即注册

QQ登录

只需一步,快速开始

billdwl
金牌服务用户   /  发表于:2023-12-7 15:22  /   查看:775  /  回复:9
本帖最后由 Richard.Huang 于 2023-12-8 17:28 编辑

产品:GcExcel
版本:V6.2.1

复现步骤:

1.下载附件sjs文件,加载之后用以下代码插入以后并锁定其中一个单元格
  1. IWorksheet worksheet = workbook.getWorksheets().get(0);
  2.                 IRange addedCell = worksheet.getRange(6, 1);
  3.                 addedCell.getEntireRow().insert();
  4.                 IRange cell = worksheet.getRange(6, 1);
  5.                 cell.setLocked(true);
  6.                 cell.getInterior().setColor(Color.Empty);
  7.                 cell.setValue("test");
复制代码
2.保存为新的sjs文件,locked属性不生效 image.png888999633.png

tysbb_340000_V1.sjs

5.88 KB, 下载次数: 33

9 个回复

倒序浏览
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-12-7 15:29:15
沙发
您好,您没有设置表单保护,需要设置了表单保护后,locked属性才会生效。
SpreadJS 17.0.8 | GcExcel 7.1.1 已发布~
回复 使用道具 举报
billdwl
金牌服务用户   /  发表于:2023-12-7 15:32:15
板凳
image.png424181823.png ,设置工作簿保护了,本来就有这个保护
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-12-7 16:10:00
地板
了解了,我注意到您这边是直接通过接口设置的值,保护单元格只会拦截UI上的操作,无法阻止API层面的设置。

如果您这边想在接口层面也实现拦截的话,您可以将setValue这个接口再封装一层,判断单元格的locked属性和保护状态后再去执行setValue。
SpreadJS 17.0.8 | GcExcel 7.1.1 已发布~
回复 使用道具 举报
billdwl
金牌服务用户   /  发表于:2023-12-7 16:18:39
5#
Joestar.Xu 发表于 2023-12-7 16:10
了解了,我注意到您这边是直接通过接口设置的值,保护单元格只会拦截UI上的操作,无法阻止API层面的设置。
...

我们的目的不是去setValue,而是去锁定这个单元格,您的回复仿佛回避了锁定单元格不生效的事实

评分

参与人数 1金币 +200 收起 理由
Joestar.Xu + 200 感谢指正~

查看全部评分

回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-12-7 16:28:54
6#
您好,不好意思之前误解了您的意思,在6.2.1中确实存在该问题,但是在6.2.5中该问题就不存在了,应该是旧版本的Bug。

image.png305718993.png

建议您这边通过升级来修复这个问题。
SpreadJS 17.0.8 | GcExcel 7.1.1 已发布~
回复 使用道具 举报
billdwl
金牌服务用户   /  发表于:2023-12-7 16:46:31
7#
Joestar.Xu 发表于 2023-12-7 16:28
您好,不好意思之前误解了您的意思,在6.2.1中确实存在该问题,但是在6.2.5中该问题就不存在了,应该是旧版 ...

你好,升级版本之后会导致所有单元格不能编辑,是前端也要做相应版本的升级吗
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-12-7 17:00:29
8#
billdwl 发表于 2023-12-7 16:46
你好,升级版本之后会导致所有单元格不能编辑,是前端也要做相应版本的升级吗

如果所有的单元格都是锁定状态且打开了表单保护的话,是会导致所有单元格不能编辑的。

您这边是有一些单元格的locked属性为false且打开了表单保护后出现了不能编辑的问题吗?
SpreadJS 17.0.8 | GcExcel 7.1.1 已发布~
回复 使用道具 举报
billdwl
金牌服务用户   /  发表于:2023-12-7 17:19:51
9#
发现问题了,表样通过新版本加载之后,所有单元格都被锁定了,我再开个帖子
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-12-7 17:29:36
10#
好的,那这个帖子就先结贴了哈。
SpreadJS 17.0.8 | GcExcel 7.1.1 已发布~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部