2016-12-07 40 views
0

对不起,我的英语。我是c#中的新手。我有quuestion。我有一个数据文件,TXT:从* .txt导入不带2列的DataGridView

20160101 PL01 000000000000000003 PL02 TO 0000000001   1.720  0000000001 0000000002 

Finnaly我想这个数据导入的DataGridView但只列1,4,7,8,9没有列2,3,5和6

我尝试开始导入所有数据,但我有错误

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

“***我尝试开始导入所有数据,但我有错误***”,那么它是什么 –

+0

当我开始我有错误messege:未处理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如果您觉得它有用,请将其标记为已回答,以便它也能帮助其他人。 –