DataTable转为TXT文档(datatable复制表结构)

网友投稿 580 2022-09-22

DataTable转为TXT文档(datatable复制表结构)

DataTable转为TXT文档(datatable复制表结构)

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

}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Unix环境高级编程:进程控制-线程控制-僵尸进程
下一篇:squid 安装简单说明
相关文章

 发表评论

暂时没有评论,来抢沙发吧~