找回密码
 立即注册

QQ登录

只需一步,快速开始

Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-11-15 18:05:04
6#
不客气,那就结帖了,有什么问题欢迎另开新帖进行询问。
回复 使用道具 举报
hnjzt
金牌服务用户   /  发表于:2017-11-15 15:04:37
5#
已经成功实现,多谢
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-11-15 13:54:40
地板
这个您直接调用paste命令就可以了,那个不需要加范围参数
spread.commandManager().execute({cmd: "paste", sheetName: "Sheet1"});
这个命令会自动在您单元活动单元格中进行粘贴。
回复 使用道具 举报
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 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.重新设置保护工作表
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部