无法从Excel转换date

我开发了一个C#应用程序来从Excel文件中读取数据。 date也很less,格式为“dd / MM / yyyy” ,我可以将它们转换成DateTime对象。 但是,当我将相同的代码放在Web服务器上时,它将以“MM / dd / yyyy”格式读取Exceldate。 我检查了服务器上的区域设置,它和我的本地机器是“en-AU”一样 。 下面是转换date的函数:

 private DateTime? GetDate(string value) { if (value.Contains('/') || value.Contains('-')) { DateTime date = new DateTime(); string[] formats = { "dd/MM/yyyy", "dd/M/yyyy", "d/M/yyyy", "d/MM/yyyy", "dd/MM/yy", "dd/M/yy", "d/M/yy", "d/MM/yy", '"d-MMM-yyyy", "dd-MMM-yyyy", "d-MMM-yy", "dd-MMM-yy", "MM/dd/yyyy", "M/dd/yyyy", "M/d/yyyy"}; if (DateTime.TryParseExact(value, formats, CultureInfo.InvariantCulture, DateTimeStyles.None, out date)) { return date; } else { return null; } } else { try { double add = Convert.ToDouble(value); DateTime date = DateTime.FromOADate(add); return date; } catch { return null; } } } 

我正在使用OleDBDataAdapter将Excel文件读取到DataTable对象中。 该函数parsing所有可能的date格式,但总是返回null。

可能是什么问题?

尝试用new CultureInfo("en-AU")replaceCultureInfo.InvariantCulture