C# CSVファイルをリストビュー(listView)で表示

1 min 54 views

概要説明

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();

}
さすけ

さすけ

インフラエンジニアとして数々の大手サーバーを構築を実施し、現在はWebサーバーの構築、サイト作成を中心に活躍しています。

FOLLOW

カテゴリー:
関連記事