Excel Interop和CSV文件的日期转换问题

时间:2014-08-18 03:01:50

标签: c# excel com interop

我有一个CSV文件,其中包含格式为m / dd / yyyy的日期,如下所示

1/06 / 2013,15,1,1 / 06/2013 0:15,1,6.44

当我在Excel中打开文件时,日期被正确转换 - 1/06/2013的数值为41,426.00,MONTH()函数返回6.

当我使用Microsoft.Office.Interop.Excel使用Open()或OpenText()方法打开同一个文件时,日期转换为41,280。00(2013年6月1日)。

您是否可以使用Microsoft.Office.Interop.Excel打开CSV文件,以便它打开就像用户从Windows shell打开文件一样?

此致 戴夫

1 个答案:

答案 0 :(得分:2)

我自己埋没在这个问题的底部 - Excel VBA date formats/values change when file is opened programatically

workbook = workbooks.Open(filename, Local: true)

Open()有一个Local属性,当为false时,它假设mdy顺序为不明确的日期,当为true时它使用本地机器设置,在澳大利亚是dmy