VBでcsvファイルを読み取りDataGridViewに表示する方法

編集(PC)

こんにちは。とむじぃです。
今回はVisualBasicでの簡易的なcsvファイル読取プログラムを紹介します!

はじめに

開発環境
・Visual Studio 2017
OS
・Windows 10

スポンサーリンク

csvファイルの作成

今回の場合はCドライブのsampleというフォルダのtestdata.csvというファイルを読み込みます。
まずはCドライブにsampleというフォルダを作って下さい。
Excelからファイルの種類をCSV(カンマ区切り)にして保存し、testdata.csvというファイルを作ります。csvファイルへのパスは”C:\sample\testdata.csv”になっていますか?

VB.net

VB.netでForm1にButtonとDataGridViewを配置します。
以下のコードをForm1に書き込みます。

コードの入力

Imports System.IO

Public Class Form1
    Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles Button1.Click
        CsvReader()
    End Sub

    Sub CsvReader()

        Dim file As String = "C:\sample\testdata.csv" 'csvファイルのパスを指定
        Dim SR As New StreamReader(file, System.Text.Encoding.GetEncoding("shift_jis")) 'StreamReader文字化け防止
        Dim con_str As String 'データ保持用

        'DataGridViewの初期化
        DataGridView1.Columns.Clear()

        'csvファイルの1行目を読み込む
        con_str = SR.ReadLine()

        'データが無ければ終了
        If con_str = Nothing Then Exit Sub

        '列の生成
        Dim ColPlus() As String = con_str.Split(",")

        For Each da In ColPlus
            DataGridView1.Columns.Add(da, da)
        Next


        Do
            con_str = SR.ReadLine() 'csvファイルの2行目以降を読み込む

            If con_str = Nothing Then Exit Do 'データが無ければループ終了

            Dim RowPlus() As String = con_str.Split(",")

            DataGridView1.Rows.Add(RowPlus) 'DataGrid行を追加

        Loop

        SR.Close()

        'ヘッダーと全てのセルの内容に合わせて、列の幅を自動調整する
        DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
        'ヘッダーと全てのセルの内容に合わせて、行の高さを自動調整する
        'DataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells


    End Sub
End Class

DataGridViewに表示

デバッグしてButton1をクリックしてみて下さい。testdata.csvの内容がDataGridViewに表示されたでしょうか?
以上、VBでcsvファイルを読み取りDataGridViewに表示する方法でした!


スポンサーリンク

コメント