1

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

接收输出

这是我需要的输出:

期望的输出

请参考我使用的编码,并请帮助我找出哪里出错了。提前致谢。

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

1 回答 1

0

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

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

于 2013-05-12T14:48:37.057 回答