我有几个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;
}
}
答案 0 :(得分:2)
没有&#34; sheet&#34;在CSV文件中。 CSV文件只是文本行,其中字段由某些已定义的字符分隔。这就是全部。
您可以使用VSTO office interop或ADO.NET驱动程序来创建&#34; real&#34; Excel表格。