首页 文章

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

提问于
浏览
0

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

enter image description here

然后将其粘贴到 excel file 中 . 结果是:

enter image description here

但是当我将它粘贴在 text editor 中时,我看起来很简单:

函数名称包含样本独家样本包含样本%独家样本%[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(string,string)13 0 19.70 0.00 Bee.Client.Common.Custom.FmCustom..ctor()9 0 13.64 0.00

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

谢谢!

Update

我会试着解释一下 . 我的winform应用程序中有DataGridView . 我写了一些函数,它将数据从表复制到剪贴板(结果看起来像我的例子中的文本) . 如果我将这个文本从剪贴板粘贴到excel,结果将是带有剪贴板数据的excel文件,但根本没有格式化,这个excel将难以阅读 .

我想知道,他们如何从表(图1)这样的方式准备数据,当我将它粘贴到Excel时,它有格式化(图2),当我将其粘贴到文本编辑器中时,我们看到原始文本..

1 回答

  • 5

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

    EDIT

    所以,现在我很了解你的兴趣 . 我不知道它在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细胞甚至还有一个Image-variant!

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

    这就是为什么可以从Excel复制一些单元格并将它们粘贴到Paint作为位图的原因!当然,Notepad是不可能的,因为它的开发人员不想使用这个演示文稿 .

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

    现在您可以尝试为C#开发找到一些信息 . 我敢肯定,你会明白的!

相关问题