|
分類:[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>
|