【】Top

【】VB.NET
【】VB6.0

【】メールマガジンの購読
【】メールマガジンの解除






【】会社概要

【】お問い合わせ


姉妹サイト「バーチャルコネクション!」はこちらです。

姉妹サイト「七福神のメールでビンゴ!」はこちらです。

アイネットマコト

●24時間365日の安心をあなたにAT-LINK専用サーバ・サービスお勧めのサーバです。






CSV形式のファイルを読み込む【日本語対応版】

.NET では、CSV形式のファイル容易に読み込むことが可能です。

【日本語対応版】

この機能を使えば、アプリケーションの互換性で一般的な
CSV形式でのデータのやり取りなどを行うことが可能です。
ここでは、読み込む場合の説明をしています。

フォームに次の様なコードを記述します


-----------VB.NETコーディングここから-------------------

1.フォームに、テキストボックスコントロールを配置します。
    (デフォルトのオブジェクトの名前 TextBox1)

2.配置したステキストボックスコントロール TextBox1 を
   選択して、プロパティウィンドウの
   「Multiline」プロパティを True にします。
    (デフォルトのオブジェクトの名前 TextBox1)


3.フォームに、ボタンコントロールを配置します。
    (デフォルトのオブジェクトの名前 Button1)

4.ボタンコントロールの
    text プロパティに「CSV読み込み」と記述します。
  ※説明用のためです。必須ではありません。

5.ボタンコントロールをダブルクリックして、
    ボタンのクリックイベントの編集を開始して、
  次のコードを記述します。

    Private Sub Button1_Click(ByVal sender As System.Object, _
         ByVal e As System.EventArgs) Handles Button1.Click

        'CSV形式ファイルパスを設定してください。
        Dim objFile As New System.IO.StreamReader("C:\a.csv" _
        , System.Text.Encoding.GetEncoding(932))


        Dim strLine As String       '1行
        Dim strTemp() As String     '戻り配列
        Dim intCnt As Integer       '配列添え字
        Dim strData As String       'データ


        '次の行へ
        strLine = objFile.ReadLine()
        While (strLine <> "")

            '行単位データをカンマ部分で分割し、配列へ格納
            strTemp = Split(strLine, ",")

            For intCnt = 0 To UBound(strTemp)

                'テスト的に、列番号を印字
                strData = strData + "★" + CStr(intCnt) + "列目"

                '列データ strTemp(intCnt) を取得

                strData = strData + strTemp(intCnt)
            Next

            'テスト的に、行の終わりを印字
            strData = strData + "■行終"

            '次の行へ
            strLine = objFile.ReadLine()
        End While

        'デバッグでテキストフィールドへ書きだします。
        TextBox1.Text = strData

        'ファイルのクローズ
        objFile.Close()


    End Sub




6.ビルドして実行します。

7.フォームに表示された「CSV読み込み」を押すと、
    読み込んだCSVファイルデータの内容が
    区切り処理した結果としてテキストボックスに表示されます。



-----------VB.NETコーディングここまで-------------------

データの区切り文字として、
カンマを指定していますが、スペース区切り、タブ区切り
も可能です。
この場合、以下の Split 関数の引数を
区切り文字部分を変更するだけです。

  '行単位データをカンマ部分で分割し、配列へ格納
  strTemp = Split(strLine, ",")

  '行単位データをスペース部分で分割し、配列へ格納
  strTemp = Split(strLine, " ")

  '行単位データをタブ部分で分割し、配列へ格納
  strTemp = Split(strLine, "    ")

CSV形式でのデータI/Oを行う場面は、
意外と多いのではないでしょうか・・・

IEからのデータ取得なども容易に行えるわけですねっ。




 

http://anetm.com/dev/d.cgi?SC=DTDTL&o=Ol7

Copyright(c)2001-2004 Ai Net Makoto 記事・情報の無断転載を禁止します。

「これがほしかった!厳選サンプルツール集」の注意点
●当サイトはリンクフリーです。
2005/10/06(木)00:05 更新