找回密码
 立即注册

QQ登录

只需一步,快速开始

Huiju2017

注册会员

5

主题

17

帖子

70

积分

注册会员

积分
70
Huiju2017
注册会员   /  发表于:2017-10-19 15:41  /   查看:8231  /  回复:9
spreadjs表格,用ctrl+c和ctrl+v快捷键,能将Excel中的文本内容,复制粘贴到spreadjs表格中,
但是,客户想通过按钮的形式操作,所以,我想增加2个按钮“复制”和“粘贴”。
点击“复制”和“粘贴”按钮时,方法怎么写?
应该调用ctrl+c和ctrl+v快捷键对应的方法,也可以吧?
如果可以,能不能告知一下,ctrl+c和ctrl+v快捷键对应的方法,怎么写?

9 个回复

倒序浏览
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-10-19 16:55:48
沙发
您好,这个目前没有办法实现通过按钮来实现Excel之间的复制粘贴,原因是这样的,除了Ctrl+C Ctrl+V,没有其他方式能够获取浏览器剪切板中的内容,浏览器基于安全机制不能通过JS获取剪切板的内容,而Ctrl+C Ctrl+V是浏览器自身的行为,所以它可以访问剪切板。
回复 使用道具 举报
Huiju2017
注册会员   /  发表于:2017-10-19 17:11:17
板凳
本帖最后由 Huiju2017 于 2017-10-19 17:39 编辑
ClarkPan 发表于 2017-10-19 16:55
您好,这个目前没有办法实现通过按钮来实现Excel之间的复制粘贴,原因是这样的,除了Ctrl+C Ctrl+V,没有其 ...

您的解释,很好,多谢。


有没有其他办法,可以间接实现呢?
比如,点击【粘贴】按钮时,绑定或调用快捷键Ctrl+V对应的事件,实现粘贴?

而且,网上搜一下,说是:如果写一些js脚本,应该可以通过JS脚本,访问浏览器剪贴板的。
如这个网页的知识:http://blog.csdn.net/hackersaillen/article/details/45694181

如果利用这个网页的知识点,能实现右键复制粘贴的功能吗?
-------------
此外,从本地Excel文件中复制的内容,应该是在本机windows剪贴板clipbrd.exe中,不是浏览器的剪贴板中,能不能实现复制粘贴?

回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-10-20 10:43:17
地板
这个我需要确认一下,确认完之后答复您
回复 使用道具 举报
Huiju2017
注册会员   /  发表于:2017-10-20 15:22:51
5#
ClarkPan 发表于 2017-10-20 10:43
这个我需要确认一下,确认完之后答复您

希望能有积极的回复。
等待中……
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-10-20 16:33:54
6#
看了一下,文档上面的方法只能获取到剪切板中的文本,但是Excel中如果复制一个带格式的单元格,例如背景为黄色的单元格,那么通过上面方法是没办法获得的。
另外,上面的方法,是触发了粘贴事件之后,从粘贴事件中去除剪切板内容,取出内容是粘贴事件已经触发完毕了,这样就算能获取内容,有如何集成到您的按钮事件中呢?另外事件如何触发?我这边通过测试是通过CTRL+V进行触发。问题是按照您目前的需要是通过按钮点击触发粘贴。这里就出现矛盾了。
回复 使用道具 举报
Huiju2017
注册会员   /  发表于:2017-10-20 17:56:38
7#
ClarkPan 发表于 2017-10-20 16:33
看了一下,文档上面的方法只能获取到剪切板中的文本,但是Excel中如果复制一个带格式的单元格,例如背景为 ...

多谢回复。
看来,是没办法通过按扭事件调用Ctrl+V事件了。

那还能想到别的办法吗?
实现从Excel文件右键复制文本值,再到spreadjs表格中,右键粘贴或通过按钮粘贴吗?
其实,客户也只希望从Excel文件中右键复制“文本值”粘贴到spreadjs表格中,不用复制单元格样式。

虽然觉得可能性不大,但还是希望您能尽力想个解决办法。毕竟您是这方面专家,哈
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-10-20 18:02:20
8#
本帖最后由 ClarkPan 于 2017-10-20 18:04 编辑

目前产品支持通过按钮进行spreadjs内部的复制粘贴操作,但不支持spreadjs与外部的复制粘贴操作,这个确实没有办法。Excel与Spreadjs之间的操作还是需要通过ctrl+c 与ctrl+v来实现,毕竟这个是浏览器端的产品,原理与Excel并不相同,有些地方存在技术限制,目前确实无法实现,很抱歉。
回复 使用道具 举报
Huiju2017
注册会员   /  发表于:2017-10-20 19:11:00
9#
ClarkPan 发表于 2017-10-20 18:02
目前产品支持通过按钮进行spreadjs内部的复制粘贴操作,但不支持spreadjs与外部的复制粘贴操作,这个确实没 ...

好的,多谢啦
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-10-23 09:07:53
10#
不客气,有什么问题欢迎另开新帖进行询问。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部