DataTable用于在.net项目中,用于缓存数据,DataTable表示内存中数据的一个表。CSV文件最早用在简单的数据库里,由于其格式简单,并具备很强的开放性,所以起初被扫图家用作自己图集的标记。CSV文件是个纯文本文件,每一行表示一张图片的许多属性。
在.net项目中运用C#将DataTable转化为CSV文件,现在提供一个较为通用的方法,具体代码如下:
/// <summary>
/// 将DataTable转换成CSV文件 /// </summary>
/// <param name="dt">DataTable</param>
/// <param name="filePath">文件路径</param>
public static void SaveCsv(DataTable dt, string filePath)
{
FileStream fs = null;
StreamWriter sw = null; try
{
fs = new FileStream(filePath + dt.TableName + ".csv", FileMode.Create, FileAccess.Write);
sw = new StreamWriter(fs, Encoding.Default); var data = string.Empty; //写出列名称
for (var i = 0; i < dt.Columns.Count; i++)
{
data += dt.Columns[i].ColumnName; if (i < dt.Columns.Count - 1)
{
data += ",";
}
}
sw.WriteLine(data); //写出各行数据
for (var i = 0; i < dt.Rows.Count; i++)
{
data =string.Empty; for (var j = 0; j < dt.Columns.Count; j++)
{
data += dt.Rows[i][j].ToString(); if (j < dt.Columns.Count - 1)
{
data += ",";
}
}
sw.WriteLine(data);
}
} catch (IOException ex)
{ throw new IOException(ex.Message, ex);
} finally
{ if (sw != null) sw.Close(); if (fs != null) fs.Close();
}
}
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。