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