如何在csv导出中显示前面的零?

时间:2018-01-02 19:39:24

标签: c# excel csv

我有这段代码将信息保存到csv。我面临的问题是前面的0没有在excel中显示,尽管它们显示在记事本中。 这是编程问题还是excel csv转换问题。任何建议都表示赞赏 代码:

  public bool SaveToCSV(DataTable dt, string FileName)
    {
        try
        {
            var lines = new List<string>();

            string[] columnNames = dt.Columns.Cast<DataColumn>().
                                              Select(column => column.ColumnName).
                                              ToArray();

            var header = string.Join(",", columnNames);
            lines.Add(header);

            var valueLines = dt.AsEnumerable()
                               .Select(row => string.Join(",", row.ItemArray));
            lines.AddRange(valueLines);

            File.WriteAllLines(FileName, lines);
            return true;
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message.ToString());
            return false;
        }   
    }

2 个答案:

答案 0 :(得分:1)

  

前面的0没有在excel中显示,尽管它们显示在记事本中

你可以:

  • 导入(而不是打开csv中的数据,并确保将要处理的列设置为要text导入text,而不是Excel将其解释为数字,;

  • 更改输出csv的方式,以便在打开'的数字数据包含撇号text前缀< / em>文件 - 例如'0123456

H个。

答案 1 :(得分:0)

不是最优雅的解决方案,但如果您有兴趣添加一个All-0行,请考虑以下代码,只需在您的CSV中添加一行0:

{{1}}