找回密码
 立即注册

QQ登录

只需一步,快速开始

右手微笑
金牌服务用户   /  发表于:2023-7-13 18:10  /   查看:2087  /  回复:13
复制一个单元格,打开另一个单元格的输入框,粘贴的内容末尾带一个\r\n

1689242557877.jpg

13 个回复

倒序浏览
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-7-14 10:47:53
沙发
您好,您这边的需求是什么呢?想要去除\r\n吗?还是说想知道为什么会有一个\r\n?
回复 使用道具 举报
右手微笑
金牌服务用户   /  发表于:2023-7-19 16:30:34
板凳
Joestar.Xu 发表于 2023-7-14 10:47
您好,您这边的需求是什么呢?想要去除\r\n吗?还是说想知道为什么会有一个\r\n?

想要去掉末尾这个\r\n,因为我们自己修改了单元格输入框,如果复制一个单元格,粘贴到单元格输入框中,会在末尾带一个换行,详细步骤请看附件的录屏,话说为什么末尾腰带一个\r\n呢

屏幕录制2023-07-19 下午4.29.10.mov.zip

8.03 MB, 下载次数: 59

回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-7-19 17:42:10
地板
我这边在Windows上和Mac上都试过了,好像没有发现有\r\n的问题欸

test.zip

12.31 MB, 下载次数: 53

回复 使用道具 举报
右手微笑
金牌服务用户   /  发表于:2023-7-19 19:49:30
5#
您复制一个单元格,然后看clipboardChange事件中返回数据,里面确实带\r\n,我在咱官方demo上看过了,确实有
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-7-20 09:36:06
6#
您好,这个行为是与Excel保持一致的,在下面的Gif图中可以看到从Excel复制粘贴出来后会多一个\r\n。

1.gif66678465.png

如果想要去除,可以在clipboardChanged这个事件中进行处理,如:

  spread.bind(
    GC.Spread.Sheets.Events.ClipboardChanged,
    function (sender, args) {
      console.log("ClipboardChanged.", args);
      args.copyData.text = args.copyData.text.replace("\r\n", "");
      args.copyData.html = args.copyData.html.replace("\r\n", "");
    }
  );
回复 使用道具 举报
右手微笑
金牌服务用户   /  发表于:2023-7-20 10:42:43
7#
如果是用户自己加的换行,我们是不能去除的,现在就是没办法区分是用户行为还是框架数据,框架这边有没有其他办法可以不加这个换行符呢
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-7-20 11:58:56
8#
右手微笑 发表于 2023-7-20 10:42
如果是用户自己加的换行,我们是不能去除的,现在就是没办法区分是用户行为还是框架数据,框架这边有没有其 ...

这个没有办法,如上面所述,SpreadJS是要与Excel保持兼容的,在Excel中复制也会有一个\r\n,所以SpreadJS也会有\r\n。
回复 使用道具 举报
右手微笑
金牌服务用户   /  发表于:2023-7-20 15:31:36
9#
Joestar.Xu 发表于 2023-7-20 11:58
这个没有办法,如上面所述,SpreadJS是要与Excel保持兼容的,在Excel中复制也会有一个\r\n,所以SpreadJS ...

刚才看了excel,好像末尾没有\r\n
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-7-20 17:59:18
10#
您好,从测试来看,跟您前面的描述的“自己修改了输入框”有关,您是如何进行的修改呢?请提供一个可以复现的Demo使我能够重现出您录屏所演示的问题。

另外,也请您描述一下为什么要修改原生的输入框,需要了解您的业务需求,这有利于问题的进一步调研。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部