您的位置:首页 > 数据库

将DataTable转换成CSV文件

2017-04-06 14:27 162 查看
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();
}
}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据库 public 开放性