目次
概要説明
C#でCSVファイルを読み込んで、リストビューで表示する方法について説明します。
■サンプル画像
前提構成
GUI、ファイルの構成は以下の通りです。
■CSVテストファイル構成 (ファイル名:d:\csvsample.csv)さすけ,千葉県○○市,999-9999 太郎,埼玉県○○市,888-8888 二郎,東京都○○区,777-7777
ソース情報
フォームロード時にリストビューの初期化、及び項目の設定を行っています。 以下がソースです。private void Form1_Load(object sender, EventArgs e) { //リストビュー初期化 listView1.View = View.Details; listView1.Items.Clear(); listView1.Columns.Clear(); //項目1を追加 ColumnHeader ColumnH1 = new ColumnHeader(); ColumnH1.Text = "氏名"; //項目名 ColumnH1.Width = 100; //横幅 listView1.Columns.Add(ColumnH1); //項目の追加 //項目2を追加 ColumnHeader ColumnH2 = new ColumnHeader(); ColumnH2.Text = "住所"; ColumnH2.Width = 150; listView1.Columns.Add(ColumnH2); //項目3を追加 ColumnHeader ColumnH3 = new ColumnHeader(); ColumnH3.Text = "郵便番号"; ColumnH3.Width = 100; listView1.Columns.Add(ColumnH3); }■参照ボタン 参照ボタンが押されたときに、ファイル選択のダイアログを表示して「textBox1」に 反映しています。 以下がソースです。
private void button1_Click(object sender, EventArgs e) { DialogResult result = openFileDialog1.ShowDialog(); if (result == DialogResult.OK) { // 選択されたファイル名を格納 textBox1.Text = openFileDialog1.FileName; } }■ファイル読み込み実行 ファイル読み込み実行が押されたときに、CSVファイルを1行ずつ読み込み、カンマで文字列の分割を実行し、リストビューに反映しています。 以下がソースです。
private void button2_Click(object sender, EventArgs e) { StreamReader srInf = new StreamReader(textBox1.Text, Encoding.GetEncoding(932)); String filedata; //1行ずつファイルを読み込む while ((filedata = srInf.ReadLine()) != null) { //カンマで文字列分割 string[] csvdata = filedata.Split(','); //リストビューの項目に追加 ListViewItem Listdata = new ListViewItem(); Listdata.Text = csvdata[0]; Listdata.SubItems.Add(csvdata[1]); Listdata.SubItems.Add(csvdata[2]); listView1.Items.Add(Listdata); } //ファイルをクローズ srInf.Close(); }