![](/img/trans.png)
[英]Is it possible to paste Excel / CSV data from clipboard to DataGridView in C#?
[英]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.