0

パフォーマンス アナライザーで、クリップボードのテーブルからデータをコピーします。

ここに画像の説明を入力

そしてそれを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(string,string) 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)、テキスト エディターに貼り付けると生のテキストが表示されるのだろうか..

4

1 に答える 1

6

データグリッドと Excel 間の直接作業が良い理由は、DataGridView コンポーネントの実装とコピー操作に対するその反応、およびコンテンツを貼り付けたいアプリケーションの動作です。メモ帳では無視されるいくつかの特別なコードを使用できます。

編集

ですから、あなたの興味はよくわかります。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 から一部のセルをコピーして、ペイントにビットマップとして貼り付けることができます。もちろん、開発者がこのプレゼンテーションで作業したくないため、メモ帳では不可能です。

これで、クリップボードがそれほど原始的ではないことがわかります。アプリケーションがコンテンツを分析し、その最適なバリアントを取得できるたびに。

これで、C# 開発に関する情報を見つけることができます。きっと、あなたはそれを手に入れるでしょう!

于 2012-12-26T22:23:57.053 に答える