我遇到以下问题,我试图从StringBuilder中获取内容到我的.csv文件:
public String GetCSV()
{
System.Text.StringBuilder sb = new StringBuilder();
sb.Append(m_ID.ToString());
sb.Append(";");
sb.Append(m_Starttime.ToString());
sb.Append(";");
sb.Append(m_EndTime.ToString());
sb.Append(";");
sb.Append(m_IsSerie.ToString());
sb.Append(";");
sb.Append(m_Title);
sb.Append(";");
sb.Append(m_Description);
sb.Append(";");
sb.Append(m_Lastchange.ToString());
sb.Append(";");
return sb.ToString();
WriteCSV();
}
public void WriteCSV()
{
string csvpath = @"c:\Temp\Kalender.csv";
if (File.Exists(csvpath))
{
File.Delete(csvpath);
}
using (StreamWriter sw = File.CreateText(csvpath))
{
foreach (string CalendarItem in CalendarItem)
{
if (sb.Length > 0)
sb.Append(", ");
sb.Append(part);
}
}
}
现在我已经知道如何创建CSV文件,但我不知道如何用StringBuilder中的内容填充它 我确定会由foreach Loop处理吗?
答案 0 :(得分:3)
我会使用StringBuilder AppendLine
创建新行,而不是使用File.WriteAllText将完整的StringBuilder
写入文件系统。看看AppendLine
此外,WriteCSV();
永远不会被执行,因为您之前有return
。