我正在尝试将多个文件中的数据导出到单个数据表中。我能够将数据添加到数据集,但它不提供我需要的输出。我想这应该是我的循环中的错误,我尝试了不同的方式,但未能得到正确的输出。鉴于以下我收到的输出:
这是我需要的输出:
请参考我使用的编码,请帮助我找出我错的地方。提前致谢
OpenFileDialog thisDialog = new OpenFileDialog();
thisDialog.Multiselect = true;
DataTable dt = new DataTable();
if (thisDialog.ShowDialog() == DialogResult.OK)
{
foreach (string files in thisDialog.FileNames)
{
//each file generates two columns
DataColumn column1 = new DataColumn();
dt.Columns.Add(column1);
DataColumn column2 = new DataColumn();
dt.Columns.Add(column2);
using (System.IO.StreamReader file = new System.IO.StreamReader(files))
{
string line;
while ((line = file.ReadLine()) != null)
{
if (line.Contains("DISKXFER"))
{
string dataLine = line.ToString();
string[] split = dataLine.Split(',');
int result = split.Length;
DataRow row = dt.NewRow();
dt.Rows.Add(split[2], split[3]);
}
}
}
}
dataGridView1.DataSource = dt;
}
答案 0 :(得分:0)
您要为每个文件中的每个DISKXFER行添加一个新行,只填充前两列 - dt.rows.add执行此操作。
您应该在dr中填写更多列,然后将dr添加到表中。