【发布时间】:2019-07-04 00:19:21
【问题描述】:
我知道这个问题已经被问过很多次了(1、2 和3),但我只是不明白如何在我的情况下应用它。我已经尝试玩了几个小时,但我无法做到正确。
我有List<string>形式的变量,其中每个列表都包含在它们之间有换行符的数据/多行数据。然后我调用了一个事件,将这些数据导出到 CSV 文件中。下面是我的代码。
savestate.cs - 我初始化变量的类
public partial class Savestate
{
public static List<string> rtb1_list = new List<string>();
public static List<string> rtb2_list = new List<string>();
public static List<string> rtb3_list = new List<string>();
public static List<string> rtb4_list = new List<string>();
}
Form1.cs - 事件
public void Savetocsv()
{
Type s = typeof(Savestate);
FieldInfo[] fields = s.GetFields(BindingFlags.Public | BindingFlags.Static);
StringBuilder csvdata = new StringBuilder();
string header = String.Join(",", fields.Select(f => f.Name).ToArray());
csvdata.AppendLine(header);
string rtb1 = String.Join(",", Savestate.rtb1_list.ToArray());
string rtb2 = String.Join(",", Savestate.rtb2_list.ToArray());
string rtb3 = String.Join(",", Savestate.rtb3_list.ToArray());
string rtb4 = String.Join(",", Savestate.rtb4_list.ToArray());
string newlinestring = string.Format("{0}; {1}; {2}; {3}", rtb1, rtb2, rtb3, rtb4);
csvdata.AppendLine(newlinestring);
string filepath = @"C:\new.csv";
File.WriteAllText(filepath, csvdata.ToString());
}
但是,当我打开 CSV 文件时,这些文字到处都是。例如,我写了 hi 然后换行,然后我写了 bye。这是actual output,这是我的intended output。希望我能得到帮助。
【问题讨论】:
标签: c# winforms export-to-csv multiline