找回密码
 立即注册

QQ登录

只需一步,快速开始

windllow

注册会员

16

主题

33

帖子

194

积分

注册会员

积分
194
windllow
注册会员   /  发表于:2021-3-22 14:08  /   查看:5001  /  回复:7
1金币
1.在窗体中添加FpSpread控件,使用如下代码对选中的单元格进行锁定;fpSpread1.ActiveSheet.Protect = true;
fpSpread1.ActiveSheet.LockBackColor = Color.LightCyan;
fpSpread1.ActiveSheet.Cells[1,1,1,2].Locked=true;
操作有效,锁定指定单元格;
2.在本地选择一个excel文件使用OpenExcel()方法打开;再使用同上一样的方式锁定单元格,操作无效,永远都是锁定整个sheet。
请问可以怎么解决?谢谢!




最佳答案

查看完整内容

可以尝试一下以下代码,遍历设置locked为false以后,再将你需要的设置为true

7 个回复

倒序浏览
最佳答案
最佳答案
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-3-22 14:08:26
来自 2#
本帖最后由 Richard.Ma 于 2021-3-22 17:13 编辑

可以尝试一下以下代码,遍历设置locked为false以后,再将你需要的设置为true
  1.             fpSpread1.OpenExcel(@"D:\Projects\0322.xlsx");
  2.             fpSpread1.Sheets[0].Protect = true;
  3.             fpSpread1.Sheets[0].LockBackColor = Color.LightCyan;
  4.             foreach( Column c in fpSpread1.Sheets[0].Columns)
  5.             {
  6.                 c.Locked = false;
  7.             }
  8.             fpSpread1.Sheets[0].Cells[1, 1, 1, 2].Locked = true;
复制代码


回复 使用道具 举报
windllow
注册会员   /  发表于:2021-3-22 17:25:05
3#
Richard.Ma 发表于 2021-3-22 15:45
可以尝试一下以下代码,遍历设置locked为false以后,再将你需要的设置为true

好的,我尝试一下,谢谢您!
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-3-22 17:32:18
4#
不客气
回复 使用道具 举报
windllow
注册会员   /  发表于:2021-3-22 17:49:27
5#

尝试了一下,确实可以实现,但是不明白为什么要多这么一步呢?而且打开本地excel后,循环设置1万多个单元格,耗时将近1分钟,版主大大,请问从什么地方可以优化啊?
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-3-22 18:19:39
6#
抱歉,目前没有其他的办法
回复 使用道具 举报
windllow
注册会员   /  发表于:2021-3-23 09:10:12
7#
Richard.Ma 发表于 2021-3-22 18:19
抱歉,目前没有其他的办法

我在论坛上看到一个网友在2017年便问询了类似的问题,同样是打开excel后给选中的单元格设置加锁失败,不知道这算不算个bug,希望后期可以针对性修改哈,谢谢版主!

评分

参与人数 1金币 +500 收起 理由
Richard.Ma + 500 赞一个!

查看全部评分

回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-3-23 09:27:16
8#
本帖最后由 Richard.Ma 于 2021-3-23 14:52 编辑

实际上整体设置Locked=false是有接口的。fpSpread1.ActiveSheet.DefaultStyle.Locked = true;
但是目前测试此方法没有效果,此问题之前已经作为bug提交给了研发,

也感谢您的建议。金币送上
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部