C# 将数据写入CSV文件
public static void 将数据写入CSV<T>(ObservableCollection<T> 集合, string 路径)
{
if (!File.Exists(路径))
{
FileStream fs1 = new FileStream(路径, FileMode.Create, FileAccess.Write);
StreamWriter sw1 = new StreamWriter(fs1);
StringBuilder sb1 = new StringBuilder();
Type 类型 = typeof(T);
bool 第一次 = true;
foreach (var item in 类型.GetProperties())
{
if (第一次)
{
sb1.Append(item.Name);
第一次 = false;
}
else
{
sb1.Append(",").Append(item.Name);
}
}
sw1.WriteLine(sb1);
sw1.Flush();
sw1.Close();
fs1.Close();
}
foreach (var T实例 in 集合)
{
FileStream fs = new FileStream(路径, FileMode.Append, FileAccess.Write);
StreamWriter sw = new StreamWriter(fs);
StringBuilder sb = new StringBuilder();
Type 类型1 = typeof(T);
bool 第一 = true;
foreach (var T属性 in 类型1.GetProperties())
{
if (第一)
{
sb.Append(T属性.GetValue(T实例));
第一 = false;
}
else
{
sb.Append(",").Append(T属性.GetValue(T实例));
}
}
sw.WriteLine(sb);
sw.Flush();
sw.Close();
fs.Close();
}
}