天涯路远 发表于 2024-11-14 11:48:30

【17.0.8】【剪切粘贴希望支持只剪切粘贴值而不剪切粘贴样式】

剪切粘贴希望支持只剪切粘贴值,而不讲原来单元格的样式剪切走,像复制粘贴只支持粘贴值一样

Wilson.Zhang 发表于 2024-11-14 11:48:31

本帖最后由 Wilson.Zhang 于 2024-11-18 14:32 编辑

天涯路远 发表于 2024-11-18 10:46
我说的是剪切,剪切后粘贴,不是辅助嘞
剪切不支持,这里保持了和Excel一致的设计。剪切即剪切了单元格的所有内容,包括数据和样式等,复制粘贴与剪切粘贴的区别之一是剪切粘贴后源区域单元格不再保留原有内容。如果您希望剪切粘贴仅粘贴数值的话,可以选择使用复制粘贴(仅粘贴值),同时通过ClipboardPasted事件监听到源区域,将fromRange中的内容清空。参考如下代码:
sheet.bind(GC.Spread.Sheets.Events.ClipboardPasted, function(e, args) {
    console.log('clipboard pasted, args: ', args);
    var fromRange = args.fromRange;
    console.log('from range: ', fromRange);
    sheet.suspendPaint();
    for (var i = fromRange.row; i < fromRange.row + fromRange.rowCount; i++) {
      for (var j = fromRange.col; j < fromRange.col + fromRange.colCount; j++) {
            sheet.setValue(i, j, null);
            sheet.setStyle(i, j, null);
      }
    }
    sheet.resumePaint();
});

运行效果如下动图所示:

Wilson.Zhang 发表于 2024-11-14 14:33:57

您好!SpreadJS支持选择性粘贴,按照您的描述,可以在粘贴时选择“粘贴数值”,即可不粘贴样式,如下动图所示:

天涯路远 发表于 2024-11-15 14:32:26

Wilson.Zhang 发表于 2024-11-14 14:33
您好!SpreadJS支持选择性粘贴,按照您的描述,可以在粘贴时选择“粘贴数值”,即可不粘贴样式,如下动图所 ...

在Api层面支持剪切只剪切值吗?

Wilson.Zhang 发表于 2024-11-15 17:18:20

天涯路远 发表于 2024-11-15 14:32
在Api层面支持剪切只剪切值吗?

如果是复制,Worksheet:copyTo()方法包含一个复制选项参数option,可以在此设置仅复制值等复制模式,如下图所示:


也可以设置clipBoardOptions为粘贴值,即ClipboardPasteOptions.values。

天涯路远 发表于 2024-11-18 10:46:31

Wilson.Zhang 发表于 2024-11-15 17:18
如果是复制,Worksheet:copyTo()方法包含一个复制选项参数option,可以在此设置仅复制值等复制模式,如下 ...

我说的是剪切,剪切后粘贴,不是辅助嘞

天涯路远 发表于 2024-11-18 14:28:53

Wilson.Zhang 发表于 2024-11-18 13:32
剪切不支持,这里保持了和Excel一致的设计。剪切即剪切了单元格的所有内容,包括数据和样式等,复制粘贴 ...

好的谢谢,我试一下

Wilson.Zhang 发表于 2024-11-18 17:37:47

天涯路远 发表于 2024-11-18 14:28
好的谢谢,我试一下

不客气。您先试,遇到问题再在本贴中回复,咱们继续讨论。
页: [1]
查看完整版本: 【17.0.8】【剪切粘贴希望支持只剪切粘贴值而不剪切粘贴样式】