我目前有一个 Excel 工作表,其中一列采用日期格式。
当我打开电子表格时,我看到的是 12/29/09,程序看到的是 40176。
我发现这是将列更改为一般文本时出现的值。
我的问题是如何读取值 12/29/09 而不是 40176 或者如何将 40176 更改为有效日期?
我的程序是c#的,必须用c#读入
如果有帮助的话,这是我的连接示例代码。
Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application();
string myPath = @"C:\Test.xls";
excelApp.Workbooks.Open(myPath, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "t", false, false, 0, true, 1, 0);
Microsoft.Office.Interop.Excel.Sheets sheets = excelApp.Worksheets;
Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)sheets.get_Item(1);
excelApp.Visible = true;
if(((Microsoft.Office.Interop.Excel.Range)excelApp.Cells[r, 1]).Value2 != null)
DateString = ((Microsoft.Office.Interop.Excel.Range)excelApp.Cells[r, 1]).Value2.ToString();
最佳答案
您可以使用 DateTime.FromOADate()将 double 转换为 DateTime 值。
关于c# - Excel日期字段转换问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/771083/