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 Sub6.ビルドして実行します。7.フォームに表示された「CSV読み込み」を押すと、 読み込んだCSVファイルデータの内容が 区切り処理した結果としてテキストボックスに表示されます。-----------VB.NETコーディングここまで-------------------データの区切り文字として、カンマを指定していますが、スペース区切り、タブ区切りも可能です。この場合、以下の Split 関数の引数を区切り文字部分を変更するだけです。 '行単位データをカンマ部分で分割し、配列へ格納 strTemp = Split(strLine, ",") '行単位データをスペース部分で分割し、配列へ格納 strTemp = Split(strLine, " ") '行単位データをタブ部分で分割し、配列へ格納 strTemp = Split(strLine, " ")CSV形式でのデータI/Oを行う場面は、意外と多いのではないでしょうか・・・IEからのデータ取得なども容易に行えるわけですねっ。
Copyright(c)2001-2004 Ai Net Makoto 記事・情報の無断転載を禁止します。