对不起我的英语语法,我是C#编程的新手。我想在vb c#中创建一个将txt文件导入datagrid的程序,但我只想获取所选列。请在图像上查看我的示例文本文件内容。
我只想获得专栏WP LAT DIST BRG其余的不是。 第一和第二行是日期" 18-OCT-2017"并命名" PILOT-ODESSA"并且不包括TOTAL的最后一行。
非常感谢您提前寻求帮助。
答案 0 :(得分:0)
以下仅供参考。您需要根据需要了解并使用它:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
string filePath = "sample.txt";
using (var fileRdr = new StreamReader(filePath))
{
var columns = fileRdr.ReadLine().Split(",".ToArray(), StringSplitOptions.RemoveEmptyEntries);
CreateColumns(columns);
while (!fileRdr.EndOfStream)
{
var lineData = fileRdr.ReadLine().Split(",".ToArray(), StringSplitOptions.RemoveEmptyEntries);
dataGridView1.Rows.Add(lineData[0], lineData[1]);
}
fileRdr.Close();
fileRdr.Dispose();
}
}
private void CreateColumns(string[] columns)
{
foreach (var col in columns)
{
var dataColumn = new DataGridViewTextBoxColumn();
dataColumn.Name = col;
dataColumn.HeaderText = col.ToUpper();
switch(col.ToUpper())
{
case "WP":
case "LAT":
{
dataColumn.Visible = true;
}
break;
default:
{
dataColumn.Visible = false;
}
break;
}
dataGridView1.Columns.Add(dataColumn);
}
}
}
输出:
输入文件:(请注意,不是空格分隔 - 我将其更改为CSV)
WP,LAT,LON,DIST,SPD,MISC
1,10.5,25.3,10,15,AXX
2,11.9,24.1,50,25,BXX
3,20.2,20.9,70,35,CXX