将数据表csv导出到excel科学编号c#

将数据表csv导出到excel科学编号c#,c#,excel,csv,datatable,export-to-csv,C#,Excel,Csv,Datatable,Export To Csv,我有一个将数据表导出到csv的代码,它工作得非常好,但是当我要在Excel中将文本转换为列时,它会将行视为一个科学数字,即使我在导出之前已对字段进行了转义 代码如下: StringBuilder sb = new StringBuilder(); string[] columnNames = DT.Columns.Cast<DataColumn>(). Select(

我有一个将数据表导出到csv的代码,它工作得非常好,但是当我要在Excel中将文本转换为列时,它会将行视为一个科学数字,即使我在导出之前已对字段进行了转义

代码如下:

        StringBuilder sb = new StringBuilder();

        string[] columnNames = DT.Columns.Cast<DataColumn>().
                                          Select(column => column.ColumnName).
                                          ToArray();
        sb.AppendLine(string.Join(",", columnNames));

        foreach (DataRow row in DT.Rows)
        {
            string[] fields = row.ItemArray.Select(field => string.Concat("\"", field.ToString().Replace("\"", "\"\""), "\"")).ToArray();

            sb.AppendLine(string.Join(",", fields));
        }

        File.WriteAllText(fileNamecsv, sb.ToString());
StringBuilder sb=新建StringBuilder();
string[]columnNames=DT.Columns.Cast()。
选择(column=>column.ColumnName)。
ToArray();
sb.AppendLine(string.Join(“,”,columnNames));
foreach(数据行中的数据行)
{
string[]fields=row.ItemArray.Select(field=>string.Concat(“\”,field.ToString()。Replace(“\”,“\”,“\”),“\”).ToArray();
sb.AppendLine(string.Join(“,”字段));
}
File.writealText(filenamecv,sb.ToString());
有人建议我将字段导出为文本,以便在Excel中将文本转换为列时,Excel不会将包含数字的行转换为科学数字吗


谢谢

列的宽度是否足以显示数字而无需使用科学记数法?当我进入excel并单击列和转换的文本选项时,它不够宽,但即使放大它也使用科学记数法。