どうも!リョクちゃです。
今回はCSVファイルを読み込む方法を例を交えて紹介していきます。
例にて使うCSVファイルは前回の記事で作成したCSVファイルを使います。
前回の記事はこちらになります。
目次
準備編:フォームの作成
下のようなフォームを今回作成します。

今回使用するコントロールは、
- RichTextBox
 - Button
 
を使用します。
動作としては、ボタンを押すことで指定の場所のCSVファイルを読み込みます。
読み込んだ結果をRichTextBoxに出力していきます。
このような動作をするプログラムを作成していきます。
CSVファイルを読み込む準備
CSVファイルを読み込むには、テキストファイルを読み込むときと同じ処理を行います。
System.IO.StreamReaderを使います。
先ほど作ったフォームにコードを書いていきましょう。
| 
 1 2 3 4 5 6 7  | 
Public Class Form1     Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click         ' CSVファイルを読み込む変数の準備         Dim sr As System.IO.StreamReader = Nothing     End Sub End Class  | 
ここではSystem.IO.StreamReaderを使うための変数を準備しています。
読み込むCSVファイルの有無を確認
CSVファイルを読み込む前に、読み込むCSVファイルが存在するかどうかを
確認するコードを書いていきます。
確認するにはSystem.IO.FileクラスのExistsメソッドを使用します。
※これは事前に確認をすることでエラーとなることを防いでいます。
アプリケーションを作るうえでは使う側のことも考えたコードを書くことが大事です。
と筆者は思っています。
コードは下のようになります。
| 
 1 2 3 4 5 6 7 8 9 10 11 12 13  | 
Public Class Form1     Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click         ' CSVファイルを読み込む変数の準備         Dim sr As System.IO.StreamReader = Nothing         '  CSVファイルが存在するかチェック         If System.IO.File.Exists("./Test.csv") Then             ' CSVファイルがあれば処理を行う         End If     End Sub End Class  | 
System.IO.File.Exists(“ファイルの場所”)と書くことでファイルの存在を確認しています。
インスタンスを作成する
このままではファイルを読み込む変数が使えないので、インスタンス化をします。
| 
 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15  | 
Public Class Form1     Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click         ' CSVファイルを読み込む変数の準備         Dim sr As System.IO.StreamReader = Nothing         '  CSVファイルが存在するかチェック         If System.IO.File.Exists("./Test.csv") Then             ' CSVファイルがあれば処理を行う             ' インスタンス作成             sr = New System.IO.StreamReader("./Test.csv")         End If     End Sub End Class  | 
インスタンスを作成する際に、読み込むCSVファイルを引数に渡しています。
CSVファイルを読み込む
それではCSVファイルを読み込んでいきます。
読み込むには、System.IO.StreamReaderクラスのReadLineメソッドを使います。
また全ての中身を読み取るために、
System.IO.StreamReaderクラスのPeekメソッドも使います。
コードは下のようになります。
| 
 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23  | 
Public Class Form1     Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click         ' CSVファイルを読み込む変数の準備         Dim sr As System.IO.StreamReader = Nothing         '  CSVファイルが存在するかチェック         If System.IO.File.Exists("./Test.csv") Then             ' CSVファイルがあれば処理を行う             ' インスタンス作成             sr = New System.IO.StreamReader("./Test.csv")             '  CSVファイルを最後まで読み取り             ' RichTextへ出力をしていく             While sr.Peek >= 0                 Dim line As String() = sr.ReadLine.Split(","c)                 For Each item As String In line                     Me.RichTextBox1.Text += item + vbCrLf                 Next item             End While         End If     End Sub End Class  | 
While文を使って、CSVファイルを1行ずつ読み込んで処理をさせています。
sr.ReadLineで読み込んだ内容をsplit関数を使って、
カンマを区切り文字として、String配列に格納しています。
String配列に格納した値をFor Each文を使って1つずつ取り出し、
RichTextBoxに表示をさせています。
vbCrLfは改行を表しており、1つずつを出力する際に改行をさせています。
実際にボタンを押して実行させた図を下に示します。

これでCSVファイルを読み込むことができました、お疲れ様です。
「Tech Kids Online Coaching」無料体験会 詳細・お申込みはこちら!
まとめ
CSVファイルを読み込むには、
読み込む前に、ファイルの存在確認を行う
全ての行を読み取るには、
1行の値を受け取るには、
・こちらの書籍を参考にVB.Net勉強しています。