私は同じ問題を抱えており、Control.DrawToBitmap
を使ってビットマップをクリップボードに追加しました。最初に、DataGridViewの '標準'クリップボードの内容を両方とも取り込んだDataObjectを使用し、次にビットマップを追加し、DataObjectをクリップボードにプッシュすると、ユーザーは '特殊なペースト'機能を使用してビットマップまたはプレーンテキストを選択できます。ような何か:
Dim data as New DataObject()
Dim html As DataObject = DGV.GetClipboardContent()
data.SetData(DataFormats.Html, html.GetData(DataFormats.Html))
' create some rectangle, probably using DataGridView.Bounds
Dim bitmap As New System.Drawing.Bitmap(rectangle.Width, rectangle.Height)
DGV.DrawToBitmap(bitmap, rectangle)
data.SetData(DataFormats.Bitmap, bitmap)
は、RTF出力を生成する可能性もありますが、RTFコードは非常に複雑であるので、これは非常に多くの作業です。しかし、いくつかのコード例があります。
そして、私はこのexampleを見つけただけで、Excelや他の形式のXML出力を使用しました。