将数据添加到多个文本文件中的DataTable列

时间:2013-05-12 14:31:07

标签: c#

我正在尝试将多个文件中的数据导出到单个数据表中。我能够将数据添加到数据集,但它不提供我需要的输出。我想这应该是我的循环中的错误,我尝试了不同的方式,但未能得到正确的输出。鉴于以下我收到的输出:

enter image description here

这是我需要的输出:

enter image description here

请参考我使用的编码,请帮助我找出我错的地方。提前致谢

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;
        }

1 个答案:

答案 0 :(得分:0)

您要为每个文件中的每个DISKXFER行添加一个新行,只填充前两列 - dt.rows.add执行此操作。

您应该在dr中填写更多列,然后将dr添加到表中。