C# 将数据写入CSV文件
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();
}
}
版权声明:本文为weixin_44858501原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。