我使用以下代码获取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获取日期。请建议如何获得在单元格中写入的日期的确切格式。
答案 0 :(得分:0)
日期值没有格式。它是用于显示它的代码,它在视频中显示该值是某种形式。
在您的情况下,ToString()调用会对字符串中单元格上读取的内容进行转换。如果是日期,则根据您机器的当前国际设置对其进行转换。
您可以强制ToString()方法使用应用Format Mask参数的特定格式,如
logResult = cell.Value.ToString("d-M-yyyy");
请参阅MSDN上有关DateTime.ToString()
的主题