当前位置: 移动技术网 > IT编程>开发语言>c# > DataTable转为TXT文档

DataTable转为TXT文档

2020年03月14日  | 移动技术网IT编程  | 我要评论
public static void savecsv(datatable dt, string fullpath)
        {
            var fi = new fileinfo(fullpath); if (!fi.directory.exists) { fi.directory.create(); }
            var fs = new filestream(fullpath, filemode.append, fileaccess.write);            //streamwriter sw = new streamwriter(fs, system.text.encoding.default);            
            var sw = new streamwriter(fs, encoding.utf8);
            var data = "";            //写出列名称           
            if (s == 0)
            {
                ++s;
                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 = "";
                for (var j = 0; j < dt.columns.count; j++)
                {
                    var str = dt.rows[i][j].tostring();
                    str = str.replace("\"", "\"\""); //替换英文冒号 英文冒号需要换成两个冒号   
                    if (str.contains(',') || str.contains('"') || str.contains('\r') || str.contains('\n')) //含逗号 冒号 换行符的需要放到引号中          
                    {
                        str = string.format("\"{0}\"", str);
                    }
                    data += str;
                    if (j < dt.columns.count - 1)
                    {
                        data += ",";
                    }
                }
                sw.writeline(data);
            }
            sw.close();
            fs.close();


        }

非原创

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网