VB.Net – Excel应用程序显示一个范围的值

我试图得到一个Excel范围,并复制到与Vb.Net对象的数组。

这不是问题。 我使用下面的代码:

Dim vValues(,) As Object = ExcelApp.Range(vRange).Value 

并且工作正常; 但我有以下情况:

高强

在“C”栏中; 该值具有特定的格式并且在内部具有另一个值。

我的问题是:

有人知道如何获得用户看到的信息?

我试图获取信息,而不使用For ... Each或某种types的周期。

我也试图避免使用“文本到列”function。

两者似乎都是正确的解决scheme,但会影响大量数据的性能。

仅供参考:我也可以通过ODBC连接获取信息; 但我正在使用Rangesearch解决scheme

正是用户看到的是Text属性。 但是你不能有一个数组,你将不得不单独查询每个单元格。

您在您的数组中获得一个Double值,而不是一个DateTime值,因为您在Excel中应用了“时间”格式。 如果您有“date”类别的格式,则Excel将发送正确的Variant/Date ,而不是表示它的Double

另一个select是在.NET端创buildDateTime对象 ,只要知道它们应该在哪一列。