C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 93 を表示中)
■55315 / )  DateGridViewにcsvファイルの内容を表示
□投稿者/ daibo (1回)-(2010/11/26(Fri) 15:44:15)

分類:[C#] 

2010/11/26(Fri) 16:04:58 編集(投稿者)
2010/11/26(Fri) 16:04:17 編集(投稿者)

<pre><pre>初質問です。よろしくお願いします。開発環境はWindows 7 使用言語はVisual Studio C# 2010 Expressです。

最近C#の勉強を始めたのですが、表題のようなプログラムを作成しようとして、ビルドは正常に終了するのですが、実行時に
「入力配列がこのテーブルの列数より長い値です。」とエラーになります。

表示したいcsvファイルは列数5行数5のもので、最終的には完成したら列数10行数365のcsvファイルを表示したいと目論んでいるのですが...

以下にソースコードを書きますので、アドバイスやご指摘ありましたらよろしくお願いします。

↓ソースコード
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
using System.Data.SqlClient;
using System.ComponentModel;
using Microsoft.VisualBasic.FileIO;
using Microsoft.VisualBasic.Devices;
/*using System.Drawing;
using System.Linq;
using System.Text;*/
using System.Windows.Forms;



namespace _20101126_2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
//データテーブル
DataTable dt = new DataTable();
DataRow row = null;

//フィールド(列)の追加
dt.Columns.Add("A", Type.GetType("System.Int64"));
dt.Columns.Add("B", Type.GetType("System.Int64"));
dt.Columns.Add("C", Type.GetType("System.Int64"));
dt.Columns.Add("D", Type.GetType("System.Int64"));
dt.Columns.Add("E", Type.GetType("System.Int64"));

//カンマ区切りのテキストを読み込み、テーブルに追加
TextFieldParser pa = null;
pa = FileSystem.OpenTextFieldParser(@"C:\Users\Desktop\test.csv", ",");
//pa = new TextFieldParser(@"C:\Users\Desktop\test.csv", System.Text.Encoding.GetEncoding("Shift_JIS"));
while (!pa.EndOfData)
{
row = dt.NewRow();
row.ItemArray = pa.ReadFields();
dt.Rows.Add(row);
}
pa.Close();

//データグリッドビューにセット
dataGridView1.DataSource = dt;
}

private void Form1_Load(object sender, EventArgs e)
{
this.Opacity = 0.9;
}
}
}</pre></pre>
返信 編集キー/


管理者用

- Child Tree -