2016-12-07 6 views
0

私の英語は申し訳ありません。私はCで初心者です#。私には意識がある。私は、データとファイルTXTを持っている:2列なしで* .txtからDataGridViewにインポート

20160101 PL01 000000000000000003 PL02 TO 0000000001   1.720  0000000001 0000000002 

Finnaly私は私がしよう、列2,3,5および6

なしのDataGridViewだけの列1,4,7,8,9にこのデータをインポートしたいですスタートインポート上のすべてのデータが、私はエラー

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 

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

     private void button1_Click(object sender, EventArgs e) 
     { 
      System.IO.StreamReader file = new System.IO.StreamReader("C:\\Users\\terrazo\\Desktop\\test1.txt"); 
      string[] columnnames = file.ReadLine().Split(' '); 
      DataTable dt = new DataTable(); 

      foreach (string c in columnnames) 
      { 
       dt.Columns.Add(c); 
      } 
      string newline; 
      while ((newline = file.ReadLine()) != null) 
      { 
       DataRow dr = dt.NewRow(); 
       string[] values = newline.Split(' '); 
       for (int i = 0; i < values.Length; i++) 
       { 
        dr[i] = values[i]; 
       } 
       dt.Rows.Add(dr); 
      } 
      file.Close(); 
      dataGridView1.DataSource = dt; 
     } 
    } 
} 

は、誰もがいくつかの列なしで私にtxtファイルからどのようにデータをインポートするのを助けることができる持っています?すべての答えのために thx。

+0

「*** ***私はスタートのインポート上のすべてのデータを試みるが、私はエラーを持っている」私はエラーmessegeを持って起動するとうまく –

+0

ものです、:未処理は、 System.Data.dllで 'System.IndexOutOfRangeException'型の例外が発生しました。 追加情報:列8が見つかりません。 – terrazo

+0

データにスペースがありますか? –

答えて

0

私はあなたのコードとあなたが直面しているエラーについても説明しました。アカ​​ウントに入れられたテキストファイルにも空白または空白が含まれていることがわかりました。また、空白文字で分割すると、いくつかのヌル値。同じコードを更新してみてください。問題が発生した場合は、私に相談してください。

ここではコードです:

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 

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

    private void button1_Click(object sender, EventArgs e) 
    { 
     System.IO.StreamReader file = new System.IO.StreamReader("C:\\Users\\terrazo\\Desktop\\test1.txt"); 
     string[] columnnames = file.ReadLine().Split(' '); 
     DataTable dt = new DataTable(); 

     foreach (string c in columnnames) 
     { 
      if (c != "") 
      { 
       dt.Columns.Add(c); 
      } 
     } 
     string newline; 
     while ((newline = file.ReadLine()) != null) 
     { 
      DataRow dr = dt.NewRow(); 
      string[] values = newline.Split(' '); 
      for (int i = 0; i < values.Length; i++) 
      { 
       if (values[i] != "") 
       { 
        dr[i] = values[i]; 
       } 
      } 
      dt.Rows.Add(dr); 
     } 
     file.Close(); 
     dataGridView1.DataSource = dt; 
    } 
} 
} 
+0

@terrazo他の人にも役立つように便利だと分かっている場合は、それに印を付けてください。 –

関連する問題