データグリッドビューを使用するにあたってファイルオープンダイアログでファイルを開いてCSVを読み込みたいと思っていたんですがカンマで区切っていないようなものももCSVとして認識するのでしょうか?
現状今現在コードがないので後でのせますと言っていたので成功したコード貼り付けておきます。
これで普通に動きました。
C#
1 2 private void btnRead_Click(object sender, EventArgs e) 3 { 4 //dataGridView1.Columns.Clear(); 5 dataGridView1.Rows.Clear(); 6 7 ofd.Filter = "| *.csv"; 8 DialogResult dr = ofd.ShowDialog(); 9 if (dr == System.Windows.Forms.DialogResult.OK) 10 11 { 12 try { 13 14 15 string str = ofd.FileName; 16 StreamReader Sr = new StreamReader(str); 17 Sr.ReadLine(); 18 for (int i = 0; Sr.Peek() >= 0; i++) 19 { 20 21 string strText = Sr.ReadLine(); 22 string[] strArray = strText.Split(':'); 23 dataGridView1.Rows.Add(strArray[0], strArray[1], strArray[2], strArray[3], strArray[4], strArray[5], strArray[6], strArray[7], strArray[8], strArray[9], strArray[10]); 24 25 } 26 27 Sr.Close(); 28 } 29 30 catch (Exception err) 31 { 32 MessageBox.Show(err.Message + "エラー"); 33 34 } 35 } 36 }
タグが、Java, Androld Stadioとなっていますが、タイトルの C# とどっちが正しいのでしょう?
,(カンマ)区切り以外の CSVファイルもありですが、具体的にはどうなっているのでしょうか?
失礼いたしました
前回の質問でJavaとAndroidstudioのタグで質問していた為そのまま使ってしまいました。
カンマ区切り以外もあるのですね
:で区切られていて初めて拝見したもので…
: 区切りは初めて見ましたが、まあ、split()で、':' とすれば、大抵はOKではないでしょうか? ただ、途中に文字列("")があり、その中に、":"があるとちょっと大変ですが。(探すと、ライブラリがある?)
具体的なコードを載せるとすぐに回答が付きそうな気がします。
今確認してスプリットをかけた所出来ましたね…
自宅に帰る間にすごく気になってて質問した次第でございます
もし宜しければコメントではなく回答の方に書いていただければベストアンサーにしたいと思いますが…
TextFieldParserでDelimitersプロパティ設定すればいけませんかね?
> 現状今現在コードがないので後でのせます
コードを載せるつもりは最初からなかったんだろうけど、そうすると回答も具体的でなくなるだけなので次は頑張って書いてください。
@YAmaGNZ さんプロパティ設定でできるのは知らなかったです・・・
どうやらSplitと同じような役割を果たしてくれるみたいですね。
ただ違いが判りませんでした。
@Zuishin さん失礼いたしました。
昨日は携帯から見ていたためコードを載せるのを忘れていました。
今後ほかのだれかが見に来てもよいようにコード載せておきます。
test.csv-----------------
1:2:"12:30:45":あいうえお
2:4:"01:00:00":かきくけこ
3:6:"23:50:45":さしすせそ
4:8:"15:00:59":"たちつてと
なにぬねの"
ここまで----------------
こんなCSV読み込めば分かりますけど
まだ行っていませんが""の中にある:を文字列であると判断して区切ってくれるということですかね。
回答1件
あなたの回答
tips
プレビュー