ゼロから覚えるプログラミングVB.NET CSVファイルを作成するには




VB.NETで作成したプログラムの結果をcsvファイルとして出力したいということ意外とありますよね?

Datagrid(データグリッド)などを使用している場合は、バインドを行うことで表示している結果をそのままcsvにすることも可能です。

バインドとは簡単に言うと、データと表示させる画面を結びつけると言うことです。

ここでは、バインドを使用せずに値を直接指定してcsv出力する方法をご紹介します。

CSVファイルの作成

実行後に作成されるファイルのイメージ

a b
あああ いいい

※下記のXXXXにはCSVのパスを記載すること。

'CSVファイルのエンコードを指定(今回はShift_JIS)
Dim enc As System.Text.Encoding = System.Text.Encoding.GetEncoding("Shift_JIS")

'書き込むファイルを開く
Dim sr As New System.IO.StreamWriter(XXXX, False, enc)

'1列目の1行目にAを書き込む
sr.Write("A")

'カンマ区切りにするためにカンマを書き込む
sr.Write(","c)

'2列目の1行目にBを書き込む
sr.Write("B")

'改行
sr.Write(vbCrLf)

'1列目の2行目にAを書き込む
sr.Write("あああ")

'カンマ区切りにするためにカンマを書き込む
sr.Write(","c)

'2列目の2行目にBを書き込む
sr.Write("いいい")

'閉じる(解放)
sr.Close()

コピペで問題なく動作すると思いますが、順番に説明していきましょう。

まずは、エンコード処理です。

こちらを行わないと、日本語が文字化けしてしまいますので日本語で出力する場合は必ず行いましょう。

エンコード処理
’CSVファイルのエンコードを指定(今回はShift_JIS)
Dim enc As System.Text.Encoding = System.Text.Encoding.GetEncoding(“Shift_JIS”)

次に、CSVファイルのパスを指定しファイルをオープンします。

CSVファイルを開く
‘書き込むファイルを開く
Dim sr As New System.IO.StreamWriter(XXXX, False, enc)

いよいよメインとなるデータを書き込む処理です。
区切り文字にカンマを入れることがポイントです。
改行の仕方も覚えましょう。

データの書き込み
‘1列目の1行目にAを書き込む
sr.Write(“A”)

‘カンマ区切りにするためにカンマを書き込む
sr.Write(“,”c)

‘2列目の1行目にBを書き込む
sr.Write(“B”)

‘改行
sr.Write(vbCrLf)

‘1列目の2行目にAを書き込む
sr.Write(“あああ”)

‘カンマ区切りにするためにカンマを書き込む
sr.Write(“,”c)

‘2列目の2行目にBを書き込む
sr.Write(“いいい”)

最後に解放処理です。
ITに精通していない方は聞き慣れない単語かと思いますが、
プログラムは動作するたびにメモリというパソコンの領域を使用します。
この解放を怠ると、内部的にメモリが使用されたままの状態になり、連続的にそれをするとパソコンの動作が遅くなったりします。

解放
‘閉じる(解放)
sr.Close()

これらを上手に使いこなして、CSVファイルへのデータ出力を行ってみてください。


仕事以外でも収入が欲しい方

まずは、こちらを読んでみてください。読むのはもちろんタダです。自分にあったものがきっと見つかるはず。



無在庫販売でお小遣い稼ぎしませんか?






初心者も多数使っているので安心して始められます。




コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

ABOUTこの記事をかいた人

モットーはスティーブ・ジョブズのStay hungry Stay Foolish. 野心を持って正しい方法を身につければ誰でも成功できることを証明していきます。 本職以外で収入を得たい方の手助けができればと思います。