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(); } }
转载于:https://blog.51cto.com/zhangtaoze/1913409