你的位置:首页 > ASP.net教程

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