繁体   English   中英

以正确的格式将数据从剪贴板粘贴到Excel

[英]Paste data from clipboard to excel in right format

在性能分析器中,我从剪贴板中的中复制数据。

在此处输入图片说明

然后将其粘贴到excel文件中 结果是:

在此处输入图片说明

但是,当我将其粘贴到文本编辑器中时 ,我看起来很简单:

功能名称包含样品包含样品包含样品%包含样品%
[clr.dll] 26 26 39.39 39.39
Bee.Client.Common.BeeRight.CheckRightsForBeeUser()10 0 15.15 0.00
Bee.Client.Common.BeeRight.get_Invoke()6 0 9.09 0.00
Bee.Client.Common.BeeRight.Method(字符串,字符串)13 0 19.70 0.00
Bee.Client.Common.Custom.FmCustom..ctor()9 0 13.64 0.00

所以你能告诉我,我该如何存档这种效果?

谢谢!

更新

我会尽力解释。 我的Winform应用程序中有DataGridView。 我编写了一些函数,该函数将表中的数据复制到剪贴板中(结果类似于示例中的文本)。 如果我将文本从剪贴板粘贴到excel,结果将是带有剪贴板数据的excel文件,但根本不会格式化,并且该excel将很难阅读。

我想知道他们是如何从表(图1)准备数据的,当我将其粘贴到excel时,它具有格式(图2),并且当我将其粘贴到文本编辑器中时,我们看到了原始文本。

原因是您的数据网格和Excel之间的直接工作良好,原因是要实现DataGridView组件的实现及其对Copy操作的反应,以及您想要将内容粘贴到其中的应用程序的行为。 它可以使用一些特殊的代码,记事本会忽略它们。

编辑

所以,现在我很了解您的兴趣了。 我不知道它如何在C#中工作,但在Java中看起来却是如此。

每当剪贴板中有任何信息时,都会有很多变体,其他应用程序将如何使用此内容。

假设我要从剪贴板中获取内容。 我这样做:

Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
Transferable contents = clipboard.getContents(null);

但是现在我应该确定信息应如何用于我的应用程序,这里您的问题开始了。

如果我在剪贴板中的图片,我有只1可能的表示:

[mimetype=image/x-java-image;representationclass=java.awt.Image]

如果我从记事本中得到一些文字,则已经有27种变体:

[mimetype=application/x-java-text-encoding;representationclass=[B]
[mimetype=application/x-java-serialized-object;representationclass=java.lang.String]
[mimetype=text/plain;representationclass=java.io.Reader]
[mimetype=text/plain;representationclass=java.lang.String]
[mimetype=text/plain;representationclass=java.nio.CharBuffer]
and so on...

如果我在Excel工作表中有一些单元格,则有56种变体:

[mimetype=application/x-java-text-encoding;representationclass=[B]
[mimetype=text/html;representationclass=java.io.Reader]
[mimetype=text/html;representationclass=java.lang.String]
[mimetype=text/html;representationclass=java.nio.CharBuffer]
[mimetype=text/html;representationclass=[C]
and so on...

甚至还有Excel单元格的图像变体!

[mimetype=image/x-java-image;representationclass=java.awt.Image]

这就是为什么可以从Excel复制某些单元格并将其作为位图粘贴到Paint中的原因! 当然,记事本是不可能的,因为它的开发人员不想使用此演示文稿。

现在我们可以看到,剪贴板看起来并不是那么原始。 每次应用程序可以分析内容并采用其最佳变体。

现在,您可以尝试查找一些有关C#开发的信息。 我敢肯定,你会明白的!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM