【发布时间】:2020-02-06 00:04:07
【问题描述】:
我有一个关于将 DataTable 转换为 CSV 文件的代码。没有问题。但是当我查看 CSV 文件时,一些土耳其字符 (ISO-8859-9) 似乎是错误的。我必须解决编码问题;
StringBuilder sb = new StringBuilder();
IEnumerable<string> columnNames = dt.Columns.Cast<DataColumn>().
Select(column => column.ColumnName);
sb.AppendLine(string.Join(",", columnNames));
foreach (DataRow row in dt.Rows)
{
IEnumerable<string> fields = row.ItemArray.Select(field =>
string.Concat("\"", field.ToString().Replace("\"", "\"\""), "\""));
sb.AppendLine(string.Join(",", fields));
}
File.WriteAllText("Gecisler" + Tarih + ".csv", sb.ToString());
【问题讨论】:
-
尝试为文件选择合适的编码。 docs.microsoft.com/en-us/dotnet/api/…
-
好的,我知道了,代码没有问题,我要设置Excel的编码。谢谢你
标签: c# csv datatable ado.net export-to-csv