找回密码
 立即注册

QQ登录

只需一步,快速开始

hnjzt

金牌服务用户

7

主题

13

帖子

48

积分

金牌服务用户

积分
48
hnjzt
金牌服务用户   /  发表于:2017-11-14 17:02  /   查看:11767  /  回复:14
目前有需求要求,复制多列数据,同时对存在锁定和未锁定单元格的区域进行粘贴,如果是锁定单元格,则跳过不处理,未锁定单元格能粘贴成功
这个有什么好的办法实现呢??

14 个回复

倒序浏览
Fiooona
论坛元老   /  发表于:2020-10-19 09:54:31
推荐
image.png321429442.png 在A区域按下Ctrl+c  ,在B区域按下Ctrl+v 或者粘贴按钮可以完成复制跳过锁定单元格。

features_worksheet_protection_JavaScript.zip

2.95 KB, 下载次数: 277

组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-11-15 10:40:44
沙发
您好:
spreadjs目前的逻辑是:
在保护的单元格中粘贴时,如果粘贴区域存在锁定的单元格,那么此次粘贴不进行。所以跟您的需求不太匹配。
如果按照您的需求做,我这边可以给您提供一个思路,大致是这样做:
1.重写Ctrl+V键盘事件,使用setShortcutKey方法可以重写相关键盘事件,参考:
http://help.grapecity.com/spread ... setShortcutKey.html
2.在事件中首先将单元格的保护去掉。
3.之后缓存所有锁定单元格的位置和内容
4.执行粘贴命令,粘贴命令可以通过spread.commandManager().execute执行相关命令操作
相关文档可以参考:http://help.grapecity.com/spread ... me.html#sccopy.html
5.按照之前缓存的内容还原所有锁定的单元格的数据
6.重新设置保护工作表
回复 使用道具 举报
hnjzt
金牌服务用户   /  发表于:2017-11-15 11:24:07
板凳
ClarkPan 发表于 2017-11-15 10:40
您好:
spreadjs目前的逻辑是:
在保护的单元格中粘贴时,如果粘贴区域存在锁定的单元格,那么此次粘贴不 ...

第4步,执行粘贴命令中
spread.commandManager().execute({cmd: "clipboardPaste", sheetName: "Sheet1", fromSheet: sheet, fromRanges: fromRange, pastedRanges: toRanges, isCutting: false, clipboardText: "", pasteOption: GC.Spread.Sheets.ClipboardPasteOptions.all});
fromRanges和pastedRanges都是必传参数吧,如果我是从一个外部Excel中复制的数据过来,fromRanges要怎么传,pastedRanges也需要根据要粘贴的值来扩展而不能写死一个固定的值,这种情况要怎么处理?
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-11-15 13:54:40
地板
这个您直接调用paste命令就可以了,那个不需要加范围参数
spread.commandManager().execute({cmd: "paste", sheetName: "Sheet1"});
这个命令会自动在您单元活动单元格中进行粘贴。
回复 使用道具 举报
hnjzt
金牌服务用户   /  发表于:2017-11-15 15:04:37
5#
已经成功实现,多谢
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-11-15 18:05:04
6#
不客气,那就结帖了,有什么问题欢迎另开新帖进行询问。
回复 使用道具 举报
ximen
金牌服务用户   /  发表于:2020-10-14 22:23:33
7#
有个demo吗? 造福全人类的分享,跪求
回复 使用道具 举报
Fiooona
论坛元老   /  发表于:2020-10-15 00:00:11
8#
暂时没有现成的Demo, 不过可以列入我们的工作计划中,我将该贴暂时标记为保留处理,预计在本周内完善这个Demo后会在此更新~
组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
rsandtl
初级会员   /  发表于:2020-10-28 11:19:56
10#
如果是从外部excel中Ctrl+c复制过来的数据,在B区域按下Ctrl+v 还是粘贴不成功呢,这个要怎么解决呢??
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部