Stringbuilder到CSV

时间:2014-11-06 13:39:25

标签: c# csv stringbuilder streamwriter

我遇到以下问题,我试图从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处理吗?

1 个答案:

答案 0 :(得分:3)

我会使用StringBuilder AppendLine创建新行,而不是使用File.WriteAllText将完整的StringBuilder写入文件系统。看看AppendLine

此外,WriteCSV();永远不会被执行,因为您之前有return