【发布时间】:2013-03-11 17:08:48
【问题描述】:
我使用 Excel 应用程序 (Microsoft.Office.Interop.Excel) 打开了 *.htm 文件。解析得非常好!所以我可以使用它。为了提高速度,我正在尝试从 Excel Range 中获取数据并插入 System.Array 并使用它:
Excel.Range range = ExcelWorksheet.get_Range("A1", "H1500"); // get all values
System.Array dataArray = (System.Array)(range.Cells.Value2); // insert into array
问题在于数据类型。如果 Excel 单元格有时间或日期格式,range.Cells.Value2 会生成:
12.06.2012 到 41072(Excel 单元格类型 - 日期)
14:48 到 0,616666666666667(Excel 单元格类型 - 时间)
如果我从 Excel 单元格中获得单值,我会得到正确的值(使用 Cells.Text.ToString()):
ExcelWorksheet.get_Range("A1", "A1").Cells.Text.ToString()
任务:我需要从 Excel 工作表中按原样获取值,就像文本一样,而不是另一种类型。
并且不希望 Excel 代替我思考 :)
【问题讨论】:
标签: c# excel excel-interop