###前提・実現したいこと
・Visual Studioで掲示板システムを作っています。
###発生している問題・エラーメッセージ
・CSVを行で読み込んでいて、その行のデータがない列が無視されてしまう
たとえば、下の写真1のように[A,1]から[D,1]までデータがあって[E,1]にはデータがないが、[F,1]にはデータがある。という場合は全体で18個のデータがインポートされるのですが、写真2のように[A,1]から[D,1]、[F,1]にはデータがないが[E,1]にはデータがあるという場合、全体で3個のデータしかインポートされません。
これを写真2のような場合でも18個のデータがインポートされるようにしたいです。
何もないセルには" "かNULLを入れたいです。
###写真1
###写真2
###プログラム(CSVを配列に入れて、ラベルのテキストに出力するところ)
VB
1 Dim fileName As String = "CSVのデータがある場所のフルパス" 2 If IO.File.Exists(fileName) Then 3 Dim txtParser As FileIO.TextFieldParser = 4 New FileIO.TextFieldParser( 5 "CSVのデータがある場所のフルパス", 6 System.Text.Encoding.GetEncoding("shift_jis")) 7 8 '内容は区切り文字形式 9 txtParser.TextFieldType = 10 FileIO.FieldType.Delimited 11 12 'デリミタはカンマ 13 txtParser.SetDelimiters(",") 14 Dim i As Object = Nothing 15 i = 0 16 'ファイルの終わりまで一行ずつ処理 17 While Not txtParser.EndOfData 18 '一行を読み込んで配列に結果を受け取る 19 Dim splittedResult As String() = txtParser.ReadFields() 20 '出力してみる 21 For Each output As String In splittedResult 22 If Not i > 53 Then 23 mylabels(i).Text = output 24 '↑ラベル 25 i = i + 1 26 Else 27 End If 28 Next 29 End While 30 While i < 54 31 mylabels(i).Text = " " 32 i = i + 1 33 End While 34 '最後に閉じる 35 txtParser.Close()
###補足情報(言語/FW/ツール等のバージョンなど)
・CSVファイルはカンマ区切り
回答1件
あなたの回答
tips
プレビュー