C#将DataTable导出到csv文件

//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、关于特殊符号和分隔符。

2、C#将DataGridView导出到csv文件。


*** walker ***


你可能感兴趣的:(C#,csv,Datatable)