欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#实现DataTable转.CSV文件

程序员文章站 2022-06-22 11:02:30
将DataTable转换成CSV文件是一种常见的转换形式,主要通过遍历Table的每行,再对每行遍历每列,实现对数据的读取,然后用分隔符分隔Table的每个栏位数据,把读取的字符写入到CSV文件中。这里每个栏位之间用逗号分隔,每行用换行符。实现代码如下: public ExecutionResult ......

     将datatable转换成csv文件是一种常见的转换形式,主要通过遍历table的每行,再对每行遍历每列,实现对数据的读取,然后用分隔符分隔table的每个栏位数据,把读取的字符写入到csv文件中。这里每个栏位之间用逗号分隔,每行用换行符。实现代码如下:

public executionresult datatabletocsv(system.data.datatable vcontent, string voutputfilepath)
        {
            executionresult sresult = new executionresult();
            system.text.stringbuilder scsvcontent;
            try
            {
                scsvcontent = new system.text.stringbuilder();
                //栏位
                for (int i = 0; i < vcontent.columns.count; i++)
                {
                    scsvcontent.append(vcontent.columns[i].columnname);
                    scsvcontent.append(i == vcontent.columns.count - 1 ? "\r\n" : ",");
                }
                //数据
                foreach (system.data.datarow row in vcontent.rows)
                {
                    for (int i = 0; i < vcontent.columns.count; i++)
                    {
                        scsvcontent.append(row[i].tostring().trim());
                        scsvcontent.append(i == vcontent.columns.count - 1 ? "\r\n" : ",");
                    }
                }
                file.writealltext(voutputfilepath, scsvcontent.tostring(), encoding.utf8);
                sresult.status = true;
            }
            catch (exception ex)
            {
                sresult.message = ex.message;
                sresult.status = false;
            }
            return sresult;
        }