找回密码
 立即注册

QQ登录

只需一步,快速开始

jyjc 讲师达人认证
高级会员   /  发表于:2021-7-26 15:21  /   查看:4238  /  回复:9
本帖最后由 Clark.Pan 于 2021-7-26 17:20 编辑

spreadjs剪切时如何只剪切值不剪切格式、样式等

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

9 个回复

倒序浏览
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-7-26 16:11:47
沙发
剪切的逻辑SpreadJS与Excel一样,是无法做到只剪切值不剪切样式的,原因是剪切顾名思义就像拿剪刀剪去这一片区域,然后贴在另一部分,本身就是全量的,所以设计原理就不需要在剪切的基础上再去区分值和样式。
如果想要实现您的需求,可以使用getArray和setArray,利用getArray方法将当前所选区域的值全部拿出来,然后通过setArray设置到指定区域中去。
回复 使用道具 举报
jyjc讲师达人认证
高级会员   /  发表于:2021-7-26 16:20:54
板凳
如果是这种方式的话,就意味着我需要重写剪切方法,如下:
commandManager.register("xcut", {
                canUndo: true,
                execute: function (context, options, isUndo) {
                    debugger
                    var Commands = $3rd.spreadJS.Sheets.Commands;
                    // 在此加cmd
                    options.cmd = "xcut";
                    if (isUndo) {
                        Commands.undoTransaction(context, options);
                        return true;
                    } else {
                        Commands.startTransaction(context, options);
                        var sheet = StaticData.spread.getActiveSheet();
                        var ranges = sheet.getSelections();

                        Commands.endTransaction(context, options);
                        return true;
                    }
                }
            });
            commandManager.setShortcutKey("xcut", $3rd.spreadJS.Commands.Key.x, true, false, false, false);
但是这样有两个问题:
1、我在粘贴的时候无法判断剪切版上的数据的来源,那么这个时候不知道该不该用setArray
2、重写的剪切,没有自带剪切的功能了,比如虚线等
请问一下该怎么解决了
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-7-26 16:32:42
地板
1.这个如果您要绑定的ctrl+x上确实比较麻烦,要判断是内部粘贴还是外部粘贴,
2.虚线确实目前没有太好的办法。
我提个需求,当做后续的需求处理吧。
回复 使用道具 举报
jyjc讲师达人认证
高级会员   /  发表于:2022-1-7 09:32:09
5#
请问这个问题现在是什么进展?
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-1-7 10:07:03
6#
jyjc 发表于 2022-1-7 09:32
请问这个问题现在是什么进展?

该需求已通过评估,有望在后续版本实现,具体有实现版本后也会在本帖更新。
回复 使用道具 举报
newAll
中级会员   /  发表于:2023-6-7 12:43:40
7#
Derrick.Jiao 发表于 2022-1-7 10:07
该需求已通过评估,有望在后续版本实现,具体有实现版本后也会在本帖更新。

目前是否支持?如果支持如何配置?
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-6-7 16:01:08
8#
newAll 发表于 2023-6-7 12:43
目前是否支持?如果支持如何配置?

目前版本还不支持此功能,如果后续有相关开发计划,会在贴中通知您。
回复 使用道具 举报
宁静致远2022
注册会员   /  发表于:2024-7-29 19:46:02
9#
spreadjs v15.0.2版本,目前是否支持?如果支持如何配置?
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-7-30 09:19:48
10#
宁静致远2022 发表于 2024-7-29 19:46
spreadjs v15.0.2版本,目前是否支持?如果支持如何配置?

您好,目前不支持选择性剪切,可以参考楼上的回复使用getArray和setArray的方式来实现。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部