找回密码
 立即注册

QQ登录

只需一步,快速开始

我是真的菜

注册会员

2

主题

5

帖子

17

积分

注册会员

积分
17
最新发帖
我是真的菜
注册会员   /  发表于:2019-8-28 11:08  /   查看:3891  /  回复:8
5.0版本,sheet中的值是 63"21W T/C
选中此单元格 ctrl+c 复制到其他地方后
会变成  "63""21W T/C",自动将双引号补齐了
但如果值 中没有符号的话复制出来就是正常的
21W T/C 复制出来就是 21W T/C
值里就是不能带符号
已查过后台数据 显示无问题,但是sheet上复制贴出来就会多引号
有没有大佬教下怎么处理

8 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-8-28 11:33:49
沙发
您粘贴到控件里多了双引号还是其他工具里。
你粘贴到记事本里看下内容是什么
回复 使用道具 举报
我是真的菜
注册会员   /  发表于:2019-8-28 12:55:14
板凳
dexteryao 发表于 2019-8-28 11:33
您粘贴到控件里多了双引号还是其他工具里。
你粘贴到记事本里看下内容是什么

粘贴到任何地方都是多了双引号
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-8-28 13:50:55
地板
您发个xml模板或者能重现问题的Demo,我这边测试下。
回复 使用道具 举报
我是真的菜
注册会员   /  发表于:2019-8-28 17:48:08
5#
dexteryao 发表于 2019-8-28 13:50
您发个xml模板或者能重现问题的Demo,我这边测试下。


FM()GA(NU32]C)O9ESG4X)N.png
7SSN2U$QQOE{J(MU_]DAV.png
%PDN`QDVN85QZ@(L_`P0(JE.png
如图,不管复制到哪里都会补齐引号

但是数据源是没有问题的,sheet中显示也没有问题,独独复制出来就会多符号
WS{OT7P73J2BMS~$M%XIM8G.png
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-8-28 18:23:52
6#
问题我重现了,因为是老版本bug,只能看看有没有workaround,测试后给您回复
回复 使用道具 举报
haomi20032003
初级会员   /  发表于:2019-8-28 22:02:29
7#
dexteryao 发表于 2019-8-28 18:23
问题我重现了,因为是老版本bug,只能看看有没有workaround,测试后给您回复

我也碰到了,临时办法就是把双引号再替换成单引号。。。
回复 使用道具 举报
我是真的菜
注册会员   /  发表于:2019-8-29 09:27:48
8#
dexteryao 发表于 2019-8-28 18:23
问题我重现了,因为是老版本bug,只能看看有没有workaround,测试后给您回复

好的,谢谢您了
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-8-29 13:04:00
9#
workaround是复制时候重新设置下剪切板

  1.             InputMap inputMap = fpSpread1.GetInputMap(InputMapMode.WhenFocused);
  2.             object key = inputMap.Get(new Keystroke(Keys.C, Keys.Control));
  3.             fpSpread1.GetActionMap().Put(key, new CustomClipboardCopyAction());
复制代码

  1.     public class CustomClipboardCopyAction : FarPoint.Win.Spread.Action
  2.     {
  3.         public override void PerformAction(object sender)
  4.         {
  5.         
  6.             var sheet = sender as SpreadView;
  7.             sheet.GetSheetView().ClipboardCopy();
  8.            var text = System.Windows.Forms.Clipboard.GetText();
  9.             if (!string.IsNullOrWhiteSpace(text))
  10.             {
  11.                 if (text.IndexOf("""") >= 0)
  12.                 {
  13.                     text = text.Replace("""", """);

  14.                     if (text.EndsWith("\r\n"))
  15.                     {
  16.                         text = text.Substring(1, text.Length - 4);
  17.                     }
  18.                     else if (text.EndsWith("""))
  19.                     {
  20.                         text = text.Substring(1, text.Length - 1);
  21.                     }

  22.                     System.Windows.Forms.Clipboard.SetText(text);
  23.                 }
  24.             }
  25.         }
  26.     }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部