欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#中将DataTable转换成CSV文件的方法

程序员文章站 2022-03-26 08:41:26
datatable用于在.net项目中,用于缓存数据,datatable表示内存中数据的一个表。csv文件最早用在简单的数据库里,由于其格式简单,并具备很强的开放性,所以起...

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();
}
}

以上所述是小编给大家介绍的c#中将datatable转换成csv文件的方法,希望对大家有所帮助