找回密码
 立即注册

QQ登录

只需一步,快速开始

Dtttax

高级会员

244

主题

607

帖子

1945

积分

高级会员

积分
1945
Dtttax
高级会员   /  发表于:2024-6-4 11:43  /   查看:225  /  回复:6
100金币
在spreadjs内剪切粘贴的时候,能否只剪切值、公式和样式到新的位置,tag保留在原来的单元格?

最佳答案

查看完整内容

您好,请参考附件来实现。

6 个回复

倒序浏览
最佳答案
最佳答案
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-6-4 11:43:48
来自 7#
您好,请参考附件来实现。

14.2.3版本的SpreadJS.html

8.38 KB, 下载次数: 18

回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-6-4 17:45:22
2#
您好,SpreadJS原生上没有提供相关的接口,您可以通过粘贴的相关事件来实现(ClipboardPasting、ClipboardPasted),整体上的思路可以参考https://gcdn.grapecity.com.cn/showtopic-204468-1-1.html,使用缓存来实现。
回复 使用道具 举报
Dtttax
高级会员   /  发表于:2024-6-4 17:49:49
3#
本帖最后由 Dtttax 于 2024-6-4 17:53 编辑
Joestar.Xu 发表于 2024-6-4 17:45
您好,SpreadJS原生上没有提供相关的接口,您可以通过粘贴的相关事件来实现(ClipboardPasting、ClipboardP ...

参数中没有原单元格的信息,原单元格的内容已经被破坏了;且设置的pasteOption为4,但原单元格的内容全部被粘贴到新的位置了, sheet.options.clipBoardOptions = GC.Spread.Sheets.ClipboardPasteOptions.values也是一样的
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-6-5 11:48:08
4#
您好,您说的“参数中没有原单元格的信息”指的是在粘贴的时候ClipboardPasted事件中的fromRange信息丢失的问题吗?

如果是的话,这是因为只有在SpreadJS内部粘贴时才能获取到fromRange,如果直接从剪切板粘贴是无法获取的,您可以通过监听ClipboardChanged事件来获取复制时的数据范围。

如果不是还请您再详细描述一下您的问题和需求。

关于您的第二个问题,我在14.2.3中测试了一下,当pasteOption为4时,即sheet.options.clipBoardOptions = GC.Spread.Sheets.ClipboardPasteOptions.valuesAndFormatting;时,对带有tag的单元格进行复制粘贴,粘贴出来的单元格tag为空:

image.png795069274.png

image.png972053527.png

我也测试了GC.Spread.Sheets.ClipboardPasteOptions.values的情况,tag也没有被粘贴到新的单元格中。

综上,未能复现出您的问题,还请您再详细说明一下您的复现步骤。
回复 使用道具 举报
Dtttax
高级会员   /  发表于:2024-6-5 16:54:52
5#
Joestar.Xu 发表于 2024-6-5 11:48
您好,您说的“参数中没有原单元格的信息”指的是在粘贴的时候ClipboardPasted事件中的fromRange信息丢失的 ...


ClipboardChanged事件的参数只有这些:

image.png290461730.png
回复 使用道具 举报
Dtttax
高级会员   /  发表于:2024-6-5 17:04:35
6#
Joestar.Xu 发表于 2024-6-5 11:48
您好,您说的“参数中没有原单元格的信息”指的是在粘贴的时候ClipboardPasted事件中的fromRange信息丢失的 ...

剪切的demo,点击第一个,console log了单元格的tag

14.2.3版本的SpreadJS.zip

1.99 KB, 下载次数: 17

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部