//author: walker //date: 2014-01-07 //function: 将DataTable导出到csv文件 public static bool datatableToCSV(DataTable dt, string pathFile) { string strLine = ""; StreamWriter sw; try { sw = new StreamWriter(pathFile, false, System.Text.Encoding.GetEncoding(-0)); //覆盖 //表头 for (int i = 0; i < dt.Columns.Count; i++) { if (i > 0) strLine += ","; strLine += dt.Columns[i].ColumnName; } strLine.Remove(strLine.Length - 1); sw.WriteLine(strLine); strLine = ""; //表的内容 for (int j = 0; j < dt.Rows.Count; j++) { strLine = ""; int colCount = dt.Columns.Count; for (int k = 0; k < colCount; k++) { if (k > 0 && k < colCount) strLine += ","; if (dt.Rows[j][k] == null) strLine += ""; else { string cell = dt.Rows[j][k].ToString().Trim(); //防止里面含有特殊符号 cell = cell.Replace("\"", "\"\""); cell = "\"" + cell + "\""; strLine += cell; } } sw.WriteLine(strLine); } sw.Close(); string msg = "数据被成功导出到:" + pathFile; Console.WriteLine(msg); } catch (Exception ex) { string msg = "导出错误:" + pathFile; Console.WriteLine(msg); return false; } return true; }
相关阅读:
1、关于特殊符号和分隔符。
*** walker ***
转载于:https://blog.51cto.com/walkerqt/1349301