具有多个CSV工作表的多个CSV到一个csv文件

时间:2016-04-27 14:10:36

标签: c# csv

我有几个CSV文件包含不同的数据,我想将所有这些csv文件合并到一个包含多个工作表的终极CSV文件中,在该文件下可以容纳多个csv。 直到现在我的下面的代码从目录中选择数据并将所有CSV文件合并到一个大的CSV文件中,在那里附加我不想要的数据,而不是我想在一个文件中有多个工作表..

private void combineallcsv()
{
    string txtConsolidated_OS_CSV = "C:\\NWDLS\\new";
    if (txtConsolidated_OS_CSV != "")
    {
        int counter = 0;

        string[] files = (Directory.GetFiles(txtConsolidated_OS_CSV.Trim()));
        foreach (var file in files)
        {
            StringBuilder sb = new StringBuilder();
            string filename = Path.GetFileNameWithoutExtension(file);
            if (file.EndsWith(".csv"))
            {
                string[] rows = File.ReadAllLines(file);
                for (int i = 0; i < rows.Length; i++)
                {
                    if (i == 0)
                    {
                        if (counter == 0)
                        {
                            sb.Append(rows[i] + "\n");
                            counter++;
                        }
                    }
                    else
                    {
                        sb.Append(rows[i] + "\n");
                    }
                }
            }
            string csvfile = txtConsolidated_OS_CSV + "\\Merged_OS.csv";

            if (File.Exists(csvfile))
            {
                File.AppendAllText(csvfile, sb.ToString());
                sb.Clear();
            }
            else
            {
                File.WriteAllText(csvfile, sb.ToString());
                sb.Clear();
            }
            //using (StreamWriter writer = new StreamWriter(csvfile, true))
            //{
            //    writer.Write(sb.ToString());
            //    writer.Dispose();
            //    writer.Close();
            //}
        }
        counter = 0;
    }
}

1 个答案:

答案 0 :(得分:2)

没有&#34; sheet&#34;在CSV文件中。 CSV文件只是文本行,其中字段由某些已定义的字符分隔。这就是全部。

您可以使用VSTO office interop或ADO.NET驱动程序来创建&#34; real&#34; Excel表格。