找回密码
 立即注册

QQ登录

只需一步,快速开始

talklion911

初级会员

27

主题

76

帖子

239

积分

初级会员

积分
239
talklion911
初级会员   /  发表于:2022-3-31 13:49  /   查看:1990  /  回复:9
1金币
使用Clipboard.GetText(0).Trim从剪切板获取数据,不同单元格之间用{ChrW(13)}和{ChrW(9)}分开,但是本身单元格中就包含了回车和换行,不同单元格之间的分隔符是否能自定义?

最佳答案

查看完整内容

解决了,我用正则表达式,先把引号里的换行符替换了,然后再用换行符分组,最后写数据的时候再把引号里的换行符替换回来

9 个回复

倒序浏览
最佳答案
最佳答案
talklion911
初级会员   /  发表于:2022-3-31 13:49:24
来自 9#
Richard.Ma 发表于 2022-4-1 16:06
用上面的代码就行,但是这个里面也并没有你需要的信息

解决了,我用正则表达式,先把引号里的换行符替换了,然后再用换行符分组,最后写数据的时候再把引号里的换行符替换回来
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-3-31 16:35:45
2#
我没有明白你的意思,Clipboard.GetText(0).Trim获取到的数据里面表格的横向纵向分隔符这个是固定的,Spread肯定没法改变,这个没有办法自定义
你去修改获取后的字符串中对应的字符也没有什么意义吧
回复 使用道具 举报
talklion911
初级会员   /  发表于:2022-3-31 16:44:01
3#
Richard.Ma 发表于 2022-3-31 16:35
我没有明白你的意思,Clipboard.GetText(0).Trim获取到的数据里面表格的横向纵向分隔符这个是固定的,Sprea ...

假设我有5个单元格,如果按照默认的分隔符,就是5段。但是我的单元格里的文字,如果本身就包含了一个回车符,就变成6段了
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-3-31 17:21:47
4#
暂时没有想到其他的办法,这个和Spread其实也没有关系,如果复制office excel中单元格有换行的相同数据,取到的也是一样的。
回复 使用道具 举报
talklion911
初级会员   /  发表于:2022-3-31 17:29:53
5#
Richard.Ma 发表于 2022-3-31 17:21
暂时没有想到其他的办法,这个和Spread其实也没有关系,如果复制office excel中单元格有换行的相同数据,取 ...

不会啊,我在excel里的操作
image.png147375792.png
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-3-31 17:58:36
6#
这个没有可比性,你在excel内部粘贴,excel也不是通过Clipboard.GetText(0)来读取的,可能是通过下面的哪一种方式,

Clipboard包含多种格式的数据,按照下面的代码,你可以读取成各种格式,你可以看看哪个对你有用。除此之外没有办法提供其他的协助了

  1.             var data = Clipboard.GetDataObject().GetFormats();
  2.             foreach (var format in data)
  3.             {
  4.                 var data=Clipboard.GetData(format);
  5.             }
复制代码
回复 使用道具 举报
talklion911
初级会员   /  发表于:2022-4-1 14:04:57
7#
Richard.Ma 发表于 2022-3-31 17:58
这个没有可比性,你在excel内部粘贴,excel也不是通过Clipboard.GetText(0)来读取的,可能是通过下面的哪一 ...

有一个{FarPoint.Win.Spread.CellInfoRange},但是不知道怎么用了
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-4-1 16:06:03
8#
  1. Clipboard.GetData("FarPoint.Win.Spread.CellInfoRange");
复制代码

用上面的代码就行,但是这个里面也并没有你需要的信息
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-4-6 09:45:55
10#
,问题解决了就好
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部