导出到Excel - 在C#中防止科学记数法中的电话号码

时间:2018-03-21 15:10:12

标签: c# excel export-to-excel stringbuilder

我将数据从DB导出到Excel中的excel,它有一个电话号码列,例如+22200073886。如何在不将数字转换为科学计数法的情况下导出到Excel?

var csv = new StringBuilder();
        string strContent = "";
        int counter = DS.Tables[0].Columns.Count;
        // Build the file content
        for (int i = 0; i <= DS.Tables[0].Rows.Count; i++)
        {
            for (int j = 0; j < counter; j++)
            {
                if (i == 0)
                {
                  strContent += DS.Tables[0].Columns[j].ToString() + ",";
                }
                else
                {
              strContent += DS.Tables[0].Rows[i - 1][j].ToString() + ",";
                }
            }
          csv.AppendLine(strContent.Substring(0, strContent.Length - 1));
            strContent = "";
        }

  File.WriteAllText(new Page().Server.MapPath(filePath), csv.ToString());

1 个答案:

答案 0 :(得分:0)

首先,您不得保存具有XLS扩展名的CSV文件。您必须导出真实的Excel文件,如xls或xlsx,使用OpenXML或可以在C#中使用的任何其他Excel库。

然后,您必须将单元格中的数据保存为字符串,或将单元格的数字格式设置为文本。文字的数字格式为“@”。代码取决于您选择的解决方案。