C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

■94810 / 5階層)  Excelの指定範囲の内容を表形式で表示
□投稿者/ 魔界の仮面弁士 (2722回)-(2020/05/21(Thu) 12:50:58)
No94808 (大谷刑部 さん) に返信
> ↓データ改行とかが存在しているのなら、TextFieldParserクラスとかで引用符を取り除いてから、クリップボードにコピーした方がその後の処理がしやすいのでは?
ペースト時ではなく、コピー時に割り込ませるとなると、
Excel 側の操作を見直すことになるので、前提条件から見直しが必要になりそう。


No94809 (temaki さん) に返信
>>>ところで、このデータを直接DataGridViewに貼り付けできるのでしょうか?
>>多分できますよね。聞く前に試してみたらどうですか?
>>簡単にデバッグできるコードだと思うので。
> どうやって?
> Ctrl+Vでも貼付けできないんですけど?
大谷刑部 さんは、「操作」ではなく「コード」と書かれていますね。
『直接貼り付け』というのを、データバインドの意で捉えているかも。


> 「多分できます」ってのは要らないから、
> 確実にできる方法を書いてもらいたいものです。
.NET Framework 4.7.2 以降の「DataGridView の機能強化」にも、
クリップボード操作に関する追加情報は無さそうですね。
https://docs.microsoft.com/ja-jp/dotnet/framework/whats-new/whats-new-in-accessibility


「操作」ではなく「コード」なら、既に提示されていた
TextFieldParser を使って、このように書けます。

Dim tsvData As String = 何某

Dim tbl As New DataTable()
Using reader As New StringReader(tsvData), parser As New TextFieldParser(reader)
  parser.TextFieldType = FieldType.Delimited
  parser.CommentTokens = New String(-1) {}
  parser.Delimiters = New String(0) {vbTab}
  parser.HasFieldsEnclosedInQuotes = True
  parser.TrimWhiteSpace = False

  Do Until parser.EndOfData
    Dim fields = parser.ReadFields()
    For n = tbl.Columns.Count To fields.Count - 1
      tbl.Columns.Add()
    Next
    tbl.Rows.Add(fields)
  Loop
End Using
DataGridView1.AutoGenerateColumns = True
DataGridView1.DefaultCellStyle.WrapMode = DataGridViewTriState.True
DataGridView1.DataSource = tbl
編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←Re[4]: Excelの指定範囲の内容を表形式で表示 /temaki →Re[6]: Excelの指定範囲の内容を表形式で表示 /大谷刑部
→Re[6]: Excelの指定範囲の内容を表形式で表示 /temaki
 
上記関連ツリー

Excelの指定範囲の内容を表形式で表示 / temaki (20/05/19(Tue) 16:00) #94790
Re[1]: Excelの指定範囲の内容を表形式で表示 / 魔界の仮面弁士 (20/05/19(Tue) 16:57) #94791
│└ Re[2]: Excelの指定範囲の内容を表形式で表示 / temaki (20/05/21(Thu) 10:10) #94806
│  └ Re[3]: Excelの指定範囲の内容を表形式で表示 / 大谷刑部 (20/05/21(Thu) 11:03) #94808
│    └ Re[4]: Excelの指定範囲の内容を表形式で表示 / temaki (20/05/21(Thu) 11:41) #94809
│      ├ Excelの指定範囲の内容を表形式で表示 / 魔界の仮面弁士 (20/05/21(Thu) 12:50) #94810 ←Now
│      │├ Re[6]: Excelの指定範囲の内容を表形式で表示 / 大谷刑部 (20/05/21(Thu) 13:13) #94812
│      ││└ Re[7]: Excelの指定範囲の内容を表形式で表示 / temaki (20/05/21(Thu) 14:32) #94814
│      │└ Re[6]: Excelの指定範囲の内容を表形式で表示 / temaki (20/05/21(Thu) 19:43) #94817 解決済み
│      │  └ Re[7]: Excelの指定範囲の内容を表形式で表示 / 魔界の仮面弁士 (20/05/21(Thu) 21:14) #94818 解決済み
│      │    └ Re[8]: Excelの指定範囲の内容を表形式で表示 / temaki (20/05/22(Fri) 09:54) #94830 解決済み
│      └ Re[5]: Excelの指定範囲の内容を表形式で表示 / 大谷刑部 (20/05/21(Thu) 12:58) #94811
Re[1]: Excelの指定範囲の内容を表形式で表示 / 大谷刑部 (20/05/20(Wed) 11:34) #94798

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信