winform读取手动选择的txt到datatable中
时间: 2023-12-11 11:04:19 浏览: 92
以下是一个简单的示例代码,演示如何在C# WinForms中使用OpenFileDialog来手动选择文本文件,并将数据读入到DataTable中。
```csharp
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Filter = "文本文件 (*.txt)|*.txt|所有文件 (*.*)|*.*";
openFileDialog.Title = "选择文本文件";
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
// 创建一个空的DataTable对象
DataTable dataTable = new DataTable();
// 读取文本文件内容到字符串数组
string[] lines = File.ReadAllLines(openFileDialog.FileName);
// 用第一行作为表头,并将其添加到DataTable中
string[] headers = lines[0].Split(',');
foreach (string header in headers)
dataTable.Columns.Add(header.Trim());
// 读取剩余行的数据,并将其添加到DataTable中
for (int i = 1; i < lines.Length; i++)
{
string[] fields = lines[i].Split(',');
DataRow row = dataTable.NewRow();
for (int j = 0; j < headers.Length; j++)
row[j] = fields[j].Trim();
dataTable.Rows.Add(row);
}
// 将DataTable绑定到DataGridView
dataGridView1.DataSource = dataTable;
}
}
```
在这个例子中,我们创建了一个OpenFileDialog对象,并将其Filter属性设置为只显示文本文件。然后,在用户选择了一个文本文件后,我们将其文件路径传递给File.ReadAllLines()方法,以读取文件的所有行。接着,我们按照与前面示例相同的方式,将文件中的数据读入到DataTable中,并将其绑定到DataGridView控件中,以在WinForms应用程序中显示数据。
请注意,如果您要从多个文件中读取数据,您可以将上述代码封装在一个方法中,并将文件路径作为参数传递给该方法。这样,在用户选择文件时,您可以多次调用该方法,以读取每个文件的数据,并将其添加到同一个DataTable中。
阅读全文