我有这段代码将信息保存到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;
}
}
答案 0 :(得分:1)
前面的0没有在excel中显示,尽管它们显示在记事本中
你可以:
导入(而不是打开)csv
中的数据,并确保将要处理的列设置为要text
导入text
,而不是Excel将其解释为数字,或;
更改输出csv
的方式,以便在打开text
前缀< / em>文件 - 例如'0123456
H个。
答案 1 :(得分:0)
不是最优雅的解决方案,但如果您有兴趣添加一个All-0行,请考虑以下代码,只需在您的CSV中添加一行0:
{{1}}