将日期导出到Csv并告诉excel格式

Mr.*_*olf 4 c# csv excel export-to-excel export-to-csv

我的程序(C#.Net 4.5)必须能够生成一些可以加载到Excel中的报告.我选择将报告导出为.csv格式,因为它是导出为ex​​cel理解格式的最简单方法.并且它不要求在运行我的程序的机器上安装Excel.

我的问题是导出日期.

我的程序将在客户PC上运行,这可能(很可能)有不同的方式来显示日期,这意味着excel期望以不同的格式使用日期.

我目前的解决方案是将日期导出为:

DateTime LogTime = DateTime.Now;
String TimeFormat = //The format for the specific location, like: "HH:mm:ss dd/MM-yyyy"

//To csv:
// ="10:24:13 27-05-2014"
String reportTime = "=\""+LogTime.ToString(TimeFormat)+"\"";
Run Code Online (Sandbox Code Playgroud)

这个问题是我根据不同的位置创建不同的文件.因此,将文件从一个位置发送到另一个位置可能会导致日期错误.

我的问题是,有没有告诉Excel我的日期是哪种格式?就像是:

//To csv:
// =DateFormatted(10:24:13 27-05-2014,HH:mm:ss dd/MM-yyyy)
String reportTime = "=DateFormatted(" + LogTime.ToString(TimeFormat) + "," + TimeFormat + ")";
Run Code Online (Sandbox Code Playgroud)

然后Excel知道如何阅读日期,而不必担心不同的位置.

Cia*_*rán 5

以yyyy-MM-dd HH:mm:ss格式导出​​日期