千家信息网

将DataTable转换成CSV文件

发表于:2024-11-14 作者:千家信息网编辑
千家信息网最后更新 2024年11月14日,DataTable用于在.net项目中,用于缓存数据,DataTable表示内存中数据的一个表。CSV文件最早用在简单的数据库里,由于其格式简单,并具备很强的开放性,所以起初被扫图家用作自己图集的标记
千家信息网最后更新 2024年11月14日将DataTable转换成CSV文件

DataTable用于在.net项目中,用于缓存数据,DataTable表示内存中数据的一个表。CSV文件最早用在简单的数据库里,由于其格式简单,并具备很强的开放性,所以起初被扫图家用作自己图集的标记。CSV文件是个纯文本文件,每一行表示一张图片的许多属性。

在.net项目中运用C#将DataTable转化为CSV文件,现在提供一个较为通用的方法,具体代码如下:

       ///         /// 将DataTable转换成CSV文件        ///         /// DataTable        /// 文件路径        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();            }        }


0