1

我正在尝试使用 Vb.Net 获取 Excel 范围并复制到对象数组中。

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

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

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

Excel

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

我的问题是:

有人知道如何让用户看到的信息准确无误吗?

我试图在不使用For ... Each或某种循环的情况下获取信息。

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

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

仅供参考:我也可以通过 ODBC 连接获取信息;但我正在使用 Range 搜索解决方案

4

1 回答 1

3

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

由于您在 Excel 中应用了“时间”格式,因此您Double在数组中获得了一个值而不是一个值。DateTime如果您有来自“日期”类别的格式,Excel 将改为发送一个正确的Variant/Date,而不是Double代表它的 a 。

另一种选择是在 .NET 端构建DateTime对象,前提是您知道它们应该在哪些列中。

于 2013-03-20T17:52:36.717 回答