通过C#导出到CSV文件时,将特定的前导零数字列转换为字符串

时间:2018-10-27 06:23:35

标签: c# export-to-csv

在我的应用程序中,我需要将数据表导出为CSV格式的文件。 我可以使用以下代码执行此操作,除非该列是前导零suach的字符串为:00254。导出到csv后,我可以看到它在记事本中显示正确,但是当用Excel打开它时,它将丢失所有前导零:仅从00254到254。

因为带有某些列的数据表是数字,例如:数量和数量,所以在导出为CSV之前我们无法将所有列都转换为字符串。

var dsx = new DataSet();
dsx = ProcessData_Export(dtc);

IEnumerable<string> columnNames = dsx.Tables[0].Columns
    .Cast<DataColumn>().Select(column => column.ColumnName);
sb.AppendLine(string.Join(",", columnNames));

foreach (DataRow row in dsx.Tables[0].Rows)
{
    IEnumerable<string> fields = row.ItemArray
        .Select(field => Regex.Replace(field.ToString(), "\r\n", String.Empty));
    sb.AppendLine(string.Join(",", fields));
}

File.WriteAllText(pathDesktop + "\\" + exFileName, sb.ToString(), Encoding.UTF8);

0 个答案:

没有答案