当我尝试将文件从 txt 导入到 datagridview 时出现错误
I get an error when I try to import files from a txt to a datagridview
如标题中的问题所述,我在将数据从 txt 文件导入 datagridview 时遇到问题。我收到错误输入数组比列数长。这是我用来将我的数据从 datagridview 保存到 txt 文件的方法,以及我想用来将数据导入 datagridview 的方法:
private void OpenFile_Click(object sender, EventArgs e)
{
string[] lines = File.ReadAllLines(@"C:\Users\gv9816\source\repos\Liste\UserData.txt");
string[] values;
for (int i = 0; i < lines.Length; i++)
{
values = lines[i].ToString().Split('|');
string[] row = new string[values.Length];
for (int j = 0; j < values.Length; j++)
{
row[j] = values[j].Trim();
}
_table.Rows.Add(row);
}
}
private void SaveFile_Click_1(object sender, EventArgs e)
{
TextWriter writer = new StreamWriter(@"C:\Users\gv9816\source\repos\Liste\UserData.txt");
for (int i = 0; i < _table.Rows.Count - 1; i++)
{
for (int j = 0; j < _table.Columns.Count; j++)
{
writer.Write("\t" + DataGridViewCell.Rows[i].Cells[j].Value.ToString() + "\t");
}
writer.WriteLine("");
}
writer.Close();
MessageBox.Show("Data Exported");
}
此外,这是我用来创建列的内容:
private void Form1_Load(object sender, EventArgs e)
{
_table.Columns.Add("First Name", typeof(string));
_table.Columns.Add("Last Name", typeof(string));
_table.Columns.Add("Age", typeof(int));
DataGridViewCell.DataSource = _table;
}
这是我的 UserData.txt 文件中的输出
Hans | Müller | 12 |
Here is what the application Looks like
And this is what is generated into the UserData file
任何帮助将不胜感激:)
最后一个|
字符是问题,如果你不能改变txt文件里面的数据。只需更改此行,
values = lines[i].ToString().Split('|');
对此,
values = lines[i].ToString().Split('|').Where(x => !string.IsNullOrEmpty(x)).ToArray();
如标题中的问题所述,我在将数据从 txt 文件导入 datagridview 时遇到问题。我收到错误输入数组比列数长。这是我用来将我的数据从 datagridview 保存到 txt 文件的方法,以及我想用来将数据导入 datagridview 的方法:
private void OpenFile_Click(object sender, EventArgs e)
{
string[] lines = File.ReadAllLines(@"C:\Users\gv9816\source\repos\Liste\UserData.txt");
string[] values;
for (int i = 0; i < lines.Length; i++)
{
values = lines[i].ToString().Split('|');
string[] row = new string[values.Length];
for (int j = 0; j < values.Length; j++)
{
row[j] = values[j].Trim();
}
_table.Rows.Add(row);
}
}
private void SaveFile_Click_1(object sender, EventArgs e)
{
TextWriter writer = new StreamWriter(@"C:\Users\gv9816\source\repos\Liste\UserData.txt");
for (int i = 0; i < _table.Rows.Count - 1; i++)
{
for (int j = 0; j < _table.Columns.Count; j++)
{
writer.Write("\t" + DataGridViewCell.Rows[i].Cells[j].Value.ToString() + "\t");
}
writer.WriteLine("");
}
writer.Close();
MessageBox.Show("Data Exported");
}
此外,这是我用来创建列的内容:
private void Form1_Load(object sender, EventArgs e)
{
_table.Columns.Add("First Name", typeof(string));
_table.Columns.Add("Last Name", typeof(string));
_table.Columns.Add("Age", typeof(int));
DataGridViewCell.DataSource = _table;
}
这是我的 UserData.txt 文件中的输出
Hans | Müller | 12 |
Here is what the application Looks like
And this is what is generated into the UserData file
任何帮助将不胜感激:)
最后一个|
字符是问题,如果你不能改变txt文件里面的数据。只需更改此行,
values = lines[i].ToString().Split('|');
对此,
values = lines[i].ToString().Split('|').Where(x => !string.IsNullOrEmpty(x)).ToArray();