在C#中如何将SQL Server数据库的表格中数据导出形成.csv文件,应该如何编程呀,求详解 在C#中如何将SQL Server数据库的表格中数据导出形成.csv文件,应该如何编程呀,求详解数据库编程C#SQL Server 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 导出成excel csv一般用逗 分隔字段第一行为一条记录 换行用\r\n。字段包含逗号还有一些不记得了,用双引号包字段引起来就好了。写入到文本文件中反缀改成csv即可。 你用记事本打开csv格式的文件就知道了 有时候用的几个方法。 static char delimiter = ','; static string CRLF = "\r\n"; public static void WriteCsvFile(DataTable dt,string fileName) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < dt.Columns.Count; i++) { if (i == 0) { sb.Append(dt.Columns[i].ColumnName); } else { sb.Append(delimiter); sb.Append(dt.Columns[i].ColumnName); } } foreach (DataRow dr in dt.Rows) { sb.Append(CRLF); for (int colIndex = 0; colIndex < dt.Columns.Count; colIndex++) { if (colIndex == 0) { sb.Append(EescapeCsv(dr[colIndex])); } else { sb.Append(delimiter); sb.Append(EescapeCsv(dr[colIndex])); } } } WriteCsvFile(fileName, sb); } public static void WriteCsvFile( string fileName, StringBuilder text) { using (StreamWriter write = new StreamWriter(fileName, false, Encoding.Unicode)) { write.Write(text); write.Close(); } } public static string EescapeCsv(string text) { if (!string.IsNullOrEmpty(text)) { if (text.Contains("\"")) { text = text.Replace("\"", "“"); } if (text.Contains(",") || text.Contains("\n") || text.Contains("\r\n")) { text = string.Concat("\"", text, "\""); } } return text; } } 再次请教反射达人——如何反射调用internal构造函数的类 c#程序cpu资源过大如何解决依个问题? 关于使用数据库连接类在多个框架页同时访问数据库的问题 如何查找表中所有父ID信息 为什么右键不行啊! asp.net中,用C#操控EXCEL,怎样解决EXCEL进程死锁问题。 DataTable Select 关于DataGrid的问题,使用过DataGrid的朋友进来看看! 我是这样调用DLL的。 程序初学者的问题? winform分页,谁做过gridview+tree效果的分页,数据库access C#中模拟文件选中
字段包含逗号还有一些不记得了,用双引号包字段引起来就好了。写入到文本文件中反缀改成csv即可。
static string CRLF = "\r\n";
public static void WriteCsvFile(DataTable dt,string fileName)
{
StringBuilder sb = new StringBuilder();
for (int i = 0; i < dt.Columns.Count; i++)
{
if (i == 0)
{
sb.Append(dt.Columns[i].ColumnName);
}
else
{
sb.Append(delimiter);
sb.Append(dt.Columns[i].ColumnName);
}
} foreach (DataRow dr in dt.Rows)
{
sb.Append(CRLF);
for (int colIndex = 0; colIndex < dt.Columns.Count; colIndex++)
{
if (colIndex == 0)
{
sb.Append(EescapeCsv(dr[colIndex]));
}
else
{
sb.Append(delimiter);
sb.Append(EescapeCsv(dr[colIndex]));
}
}
} WriteCsvFile(fileName, sb);
} public static void WriteCsvFile( string fileName, StringBuilder text)
{
using (StreamWriter write = new StreamWriter(fileName, false, Encoding.Unicode))
{
write.Write(text);
write.Close();
}
}
public static string EescapeCsv(string text)
{
if (!string.IsNullOrEmpty(text))
{ if (text.Contains("\""))
{
text = text.Replace("\"", "“");
} if (text.Contains(",") || text.Contains("\n") || text.Contains("\r\n"))
{
text = string.Concat("\"", text, "\"");
} }
return text;
}
}