0

我正在使用以下代码获取 excel 单元格中存在的值,该值是 20-3-2004 之类的日期:

string logResult = null;
string ResultFilePath = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + ResultFile;
            Microsoft.Office.Interop.Excel.Application myapp = new Microsoft.Office.Interop.Excel.Application();

 Microsoft.Office.Interop.Excel.Workbook wb = myapp.Workbooks.Open(ResultFilePath);

Microsoft.Office.Interop.Excel.Worksheet sheet = (Microsoft.Office.Interop.Excel.Worksheet)wb.Worksheets.get_Item(1);

var cell = (Microsoft.Office.Interop.Excel.Range)sheet.Cells[row, col];
logResult = cell.Value.ToString();

但在日志结果中,我总是以 20/3/2004 格式获取日期。请建议如何获取写入单元格中的日期的确切格式。

4

1 回答 1

0

日期值没有格式。它是您用来显示它的代码,它以某种形式在视频上呈现该值。

在您的情况下,是 ToString() 调用转换了字符串中单元格上已读取的任何内容。如果它是一个日期,那么它会根据您机器的当前国际设置对其进行转换。

您可以强制 ToString() 方法使用应用格式掩码参数的特定格式,例如

 logResult = cell.Value.ToString("d-M-yyyy");

请参阅 MSDN 上有关DateTime.ToString()的主题

于 2013-09-09T09:35:36.197 回答