C# StreamWriter:写入csv文件后excel文件中的日期格式错误
我正在使用C# StreamWriter:写入csv文件后excel文件中的日期格式错误,c#,excel,csv,C#,Excel,Csv,我正在使用StreamWriter来编写csv文件 这是我在记事本中打开它时的结果++ 但当我在excel中打开它时,它变成了这样 请注意,格式变成了03-08-18,而不是03/08/2018,我注意到excel中第三列的格式设置为Date,而第四列设置为General。知道为什么吗?如何强制excel将所有格式应用为常规格式?使用文本导入向导,如下所述: 在这里可以定义列分隔符和日期列的解释方式 重复使用时,您可以将步骤记录为VBA宏。您可以在c#中求解: 或: 你写的是文字而不是日期
StreamWriter
来编写csv
文件
这是我在记事本中打开它时的结果++
但当我在excel中打开它时,它变成了这样
请注意,格式变成了
03-08-18
,而不是03/08/2018
,我注意到excel中第三列的格式设置为Date
,而第四列设置为General
。知道为什么吗?如何强制excel将所有格式应用为常规格式?使用文本导入向导,如下所述:
在这里可以定义列分隔符和日期列的解释方式
重复使用时,您可以将步骤记录为VBA宏。您可以在c#中求解:
或:
你写的是文字而不是日期。CSV尝试使用计算机的区域设置对其进行解析。如果无法解析该文本,它将保留为文本。只有美国使用MM/DD/YYYY格式,这意味着美国以外的机器将始终以文本形式踏出最后一行。顺便说一句,第三栏写满了2018年8月3日的条目。如果你想使用Excel,为什么不创建Excel文件,比如使用像EPPlus这样的库?它就像
sheet.LoadFromCollection(myList)
一样简单。如果需要明确的格式,请使用YYYY-MM-DD
如何强制excel将所有格式应用为常规格式?
编写xlsx文件,而不是CSV文件。
DateTime MyDate = DateTime.Now;
MyDate.ToShortDateString().Replace("/", "-");
DateTime MyDate = DateTime.Now;
MyDate.ToString("dd-MM-yyyy");