【VB.NET】CSVファイルのデータをDataTableに読込むサンプルコード

text-field-parser-2
スポンサーリンク

どうも、あおです。

 

 

今回は、「TextFieldParser」を使用して、

CSVファイルのデータをDataTableに読込むサンプルコードをメモ。

※前回のファイルを開くダイアログで取得した

ファイルパス+ファイル名を使用しています。

【VB.NET】ファイルを開くダイアログを表示するコード

 

 

 

csvファイルは以下。

今回は、1列目が「2」のデータをDataTableにセットします。

text-field-parser-2

 

 

 

 

 

 

 

2列目:倉庫コード

3列目:ケース数

4列目:バラ数

となっています。

 

 

 

 

読込処理のコード

text-field-parser-1

 

 

 

 

 

 

 

 

 

 

 

コピペ用

        '読込み結果格納用のDataTableを定義
        Dim dtImportData As New DataSet.SearchDataTable

        'Shift JISで読込む
        Dim tpText As New FileIO.TextFieldParser(strFileName,
                System.Text.Encoding.GetEncoding(932))

        'フィールドが区切り形式なので以下を設定
        '(初期値がDelimited、固定長形式の場合はFixedWidth)
        tpText.TextFieldType = FileIO.FieldType.Delimited

        '区切り文字を「,(カンマ)」に設定
        tpText.Delimiters = New String() {","}

        While Not tpText.EndOfData

            'CSVファイルのフィールドを読込む
            Dim fields As String() = tpText.ReadFields()

            If fields(0) = 2 Then

                Dim row As DataRow
                row = dtImportData.NewRow
                row("SOKOCD") = fields(1)
                row("NYCASESU") = fields(2)
                row("NYBARASU") = fields(3)

                dtImportData.Rows.Add(row)
            End If
        End While

        'ファイルを解放
        tpText.Close()