VBレスキュー(花ちゃん)
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ各掲示板

メニューへ戻ります。 ファイル入出力関係のメニュー
1.テキストファイルを読込テキストボックスに表示及び保存
2.FileOpen 関数を使ってのCSVファイルの読み書き
3.StreamReaderを使ってのCSVファイルの読み込み
4.ComboBox でテキストファイルを使っての読み込み書き込み
5.DataGridView でのデータの読込・保存・表示関係
6.テキストファイルを読み込んでリストボックスに表示及びファイルに保存
7.
8.
9.
10.
11.
12.
 .
20.その他、当サイト内に掲載のファイル入出力に関するサンプル 


3.StreamReaderを使ってのCSVファイルの読み込み(33_FIO_03) (旧、SampleNo.030)
1.StreamReader.ReadLine メソッド を使ってのCSVファイルの読み込み(通常の場合)
2.StreamReader.ReadLine メソッド を使ってのCSVファイルの読み込み(データの項目数が不定の場合)
3.
4.
5.
6.

 下記プログラムコードに関する補足・注意事項 
動作確認:Windows 8.1 (Windows 7) / VB2013 (VB2010) / Framework 4.5.1 / 対象の CPU:x86
Option :[Compare Text] [Explicit On] [Infer On] [Strict On]
Imports :追加なし
参照設定:
追加なし
その他 :
    :
このサンプル等の内容を無断で転載、掲載、配布する事はお断りします。(私の修正・改訂・削除等が及ばなくなるので)
必要ならリンクをはるようにして下さい。(引用の場合は引用元のリンクを明記して下さい)
このページのトップへ移動します。 1.StreamReader.ReadLine メソッド を使ってのCSVファイルの読み込み(通常の場合)

'扱いが容易なので全て文字列型として変数を用意
Private Structure SeisekiDat    '成績のデータ保存用構造体
    Dim idno As String          'No
    Dim name As String          '氏名
    Dim kokugo As String        '国語の点数
    Dim suugaku As String       '数学の点数
    Dim eigo As String          '英語の点数
    Dim gokei As String         '合計の点数
End Structure

Private sd() As SeisekiDat

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'StreamReader.ReadLine メソッド を使ってのCSVファイルの読み込み(通常の場合)
    Dim fileName As String = "..\..\..\data\test.csv"    'ファイルのパス
    Try
        Using sr As New System.IO.StreamReader(fileName, System.Text.Encoding.Default)
            Dim n As Integer
            'ファイルの最後までループ
            Do Until sr.Peek() = -1
                Dim temp() As String
                ReDim Preserve sd(n)
                temp = Split(sr.ReadLine(), ",")
                '※1 データの項目数と内容が事前に解っている場合
                sd(n).idno = temp(0).Trim(Chr(34))
                sd(n).name = temp(1).Trim(Chr(34))      '※2 文字列の前後の "" を除去
                sd(n).kokugo = temp(2).Trim(Chr(34))
                sd(n).suugaku = temp(3).Trim(Chr(34))
                sd(n).eigo = temp(4).Trim(Chr(34))
                sd(n).gokei = temp(5).Trim(Chr(34))
                '取得結果を確認の為に表示
                Console.WriteLine(sd(n).idno & vbTab & sd(n).name & vbTab & sd(n).kokugo & vbTab & _
                                                       sd(n).suugaku & vbTab & sd(n).eigo & vbTab & sd(n).gokei)
                n += 1
            Loop
        End Using
    Catch ex As Exception
        MessageBox.Show(ex.Message)
    End Try

'出力結果 

    'No 氏名 国語 数学 英語 合計点
    '1 浅野 純子 63 69 87 219
    '2 深田 京子 77 69 85 231
    '3 加藤 愛子 80 91 92 263
    '4 斉藤 正樹 79 84 70 233
    '5 鈴木 一郎 69 72 80 221
    '6 仲居 正弘 88 85 75 248
    '7 原田 智子 66 76 80 222
    '8 松村 邦弘 61 70 69 200
    '9 三田 弘子 90 88 94 272
    '10 渡辺 正行 60 56 58 174

End Sub

このページのトップへ移動します。 2.StreamReader.ReadLine メソッド を使ってのCSVファイルの読み込み(データの項目数が不定の場合)

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
'StreamReader.ReadLine メソッド を使ってのCSVファイルの読み込み(データの項目数が不定の場合)
    Dim fileName As String = "..\..\..\data\test.csv"    'ファイルのパス
    Try
        Using sr As New System.IO.StreamReader(fileName, System.Text.Encoding.Default)
            'ファイルの最後までループ
            Do Until sr.Peek() = -1
                Dim temp() As String
                temp = Split(sr.ReadLine(), ",")
                '※1 データの項目数が不定の場合は下記のようにして取得してください。
                Dim i As Integer
                For i = 0 To temp.GetUpperBound(0)
                    If i = temp.GetUpperBound(0) Then
                        Console.WriteLine(temp(i))
                    Else
                        Console.Write(temp(i) & vbTab)
                    End If
                Next
            Loop
        End Using
    Catch ex As Exception
        MessageBox.Show(ex.Message)
    End Try

'出力結果 
    '   No 氏名 国語 数学 英語 合計点
    '   1 浅野 純子 63 69 87 219
    '   2 深田 京子 77 69 85 231
    '   3 加藤 愛子 80 91 92 263
    '   4 斉藤 正樹 79 84 70 233
    '   5 鈴木 一郎 69 72 80 221
    '   6 仲居 正弘 88 85 75 248
    '   7 原田 智子 66 76 80 222
    '   8 松村 邦弘 61 70 69 200
    '   9 三田 弘子 90 88 94 272
    '   10 渡辺 正行 60 56 58 174

End Sub

このページのトップへ移動します。 3.


このページのトップへ移動します。 4.


このページのトップへ移動します。 5.


このページのトップへ移動します。 6.


このページのトップへ移動します。 検索キーワード及びサンプルコードの別名(機能名)





このページのトップへ移動します。