L
languy
Hi there,
I have a problem retrieving a datetime from an Excel Worksheet. I have tried
to retrieve the date both from a user-defined field (which is the original
format) and from a datetime field. When fetching the data using the Excel
COM api i C# I will get the data as a double and this double is even not the
ticks that corresponds to the time.
-- snip --
private object[] ConvertToArray(System.Array values)
{
object[] theArray = new object[values.Length];
for (int i = 1; i <= values.Length; i++)
{
// when it is a DateTime or User-Defined field in Excel a double is
returned here ???
object obj = values.GetValue(1, i);
theArray[i-1] = (string)values.GetValue(1, i).ToString();
}
return theArray;
}
Excel.Workbook theWorkbook = null;
Excel.Application ExcelObj = new Excel.Application();
object mv = Missing.Value;
theWorkbook = ExcelObj.Workbooks.Open(
"c:\\navision_drift.xls", mv, mv, mv,
mv, mv, mv, mv, mv, mv, mv,
mv, mv, mv, mv);
Excel.Range range = worksheet.get_Range("A"+i.ToString(), "H" +
i.ToString());
System.Array myvalues = null;
myvalues = (System.Array)range.Cells.Value2;
object[] strArray = ConvertToArray(myvalues);
-- snip --
Does anyone know how to fetch the datetime field as is and prevent it from
being converted to a double?
I hope for a soon reply on this.
Thanks in regards,
Jess
I have a problem retrieving a datetime from an Excel Worksheet. I have tried
to retrieve the date both from a user-defined field (which is the original
format) and from a datetime field. When fetching the data using the Excel
COM api i C# I will get the data as a double and this double is even not the
ticks that corresponds to the time.
-- snip --
private object[] ConvertToArray(System.Array values)
{
object[] theArray = new object[values.Length];
for (int i = 1; i <= values.Length; i++)
{
// when it is a DateTime or User-Defined field in Excel a double is
returned here ???
object obj = values.GetValue(1, i);
theArray[i-1] = (string)values.GetValue(1, i).ToString();
}
return theArray;
}
Excel.Workbook theWorkbook = null;
Excel.Application ExcelObj = new Excel.Application();
object mv = Missing.Value;
theWorkbook = ExcelObj.Workbooks.Open(
"c:\\navision_drift.xls", mv, mv, mv,
mv, mv, mv, mv, mv, mv, mv,
mv, mv, mv, mv);
Excel.Range range = worksheet.get_Range("A"+i.ToString(), "H" +
i.ToString());
System.Array myvalues = null;
myvalues = (System.Array)range.Cells.Value2;
object[] strArray = ConvertToArray(myvalues);
-- snip --
Does anyone know how to fetch the datetime field as is and prevent it from
being converted to a double?
I hope for a soon reply on this.
Thanks in regards,
Jess