【发布时间】:2011-11-25 20:57:22
【问题描述】:
我正在尝试使用 C# 中的 Interop 从 Excel 电子表格中读取 DateTime 值。我所有时间都在我的工作表的“C”列中。我的代码如下:
public void addTime(Microsoft.Office.Interop.Excel.Workbook workbook)
{
Excel.Worksheet ws = (Excel.Worksheet)workbook.Worksheets.get_Item("Time Series");
Excel.Range range = ws.UsedRange;
int num = 0;
for (int row = 1; row <= range.Rows.Count; row++ )
{
String dtString = ((Excel.Range)ws.Cells[row, "C"]).Value2.ToString();
DateTime dt = Convert.ToDateTime(dtString);
this.addEdgeInstance(dt);
}
}
然而这并没有及时读取。字符串的读取工作,但转换功能不起作用。我是否以不同的方式阅读价值观?值可以变化吗? (即:我可以输入 '11/11' 或 '11/11/2011' 因为 Excel 在 Excel 中工作时会将这两个条目识别为 valie DateTime 值?)
【问题讨论】:
-
你能举个例子说明在转换之前dtString是什么吗?
-
Excel 接受的任何有效日期/时间格式。例如:11/25/2011 5:47:47 PM 或 11/11/2011 或 11/11 等......
标签: c# excel excel-interop