質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Q&A

解決済

1回答

748閲覧

Excel(CSVデータ)を範囲指定してVisual Studio に配列としてインポートしたい

syameimaru

総合スコア181

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

1グッド

1クリップ

投稿2017/07/21 03:56

編集2017/07/21 07:29

###前提・実現したいこと
・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
写真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ファイルはカンマ区切り

wakaranyon👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

_Victorique__

2017/07/21 04:30

そのデータに関してもっと詳しく書いてくれないとわかるものもわかりません。どういうデータか、具体的に示してください。
coco_bauer

2017/07/21 04:39

「CSVを行で読み込んでいて、その行のデータがない列が無視されてしまう」とは、どういう現象ですか? "その行のデータ"とは何で、列のどこに何が"ない"のでしょうか???
syameimaru

2017/07/21 07:33

コメントありがとうございます。今teratailをはじめたばかりで上手く説明できずすみません
guest

回答1

0

自己解決

CSVデータを毎回Excelで作成するようにしました。(保存するときに、VBAで範囲を指定してCSV形式で保存する)

投稿2017/07/24 05:47

syameimaru

総合スコア181

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問