将List导出到CSV
代码如下:
/// <summary>
/// 将List<T>导出到CSV
/// </summary>
/// <typeparam name="T">类型T</typeparam>
/// <param name="lst">T的集合</param>
/// <param name="filePath">保存路径</param>
/// <returns></returns>
private bool SaveListtoCsv<T>(List<T> lst, string filePath)
{
using (StreamWriter sw = new StreamWriter(filePath))
{
// 生成列
var type = typeof(T);
PropertyInfo[] props = type.GetProperties();
StringBuilder strColumn = new StringBuilder();
foreach (PropertyInfo item in props)
{
strColumn.Append(item.Name);
strColumn.Append(",");
}
sw.WriteLine(strColumn);
// 写入数据
StringBuilder strValue = new StringBuilder();
foreach (var dr in lst)
{
strValue.Clear();
foreach (PropertyInfo item in props)
{
strValue.Append(item.GetValue(dr, null));
strValue.Append(",");
}
sw.WriteLine(strValue);
}
return true;
}
}