我有vb.net应用程序,它从excel中获取数据并执行一些操作。 我使用excel对象Range来获取excel的值。 下面是我正在使用的代码行,
xlsRangetrans = xlsWorkbook.Worksheets(SHEET_1).Range("Range1")
Dim transArray(,) As Object = xlsRangetrans.Value
如果Range1中有多个值,则上面的代码会成功运行。 但如果我只有一个值,我就会收到错误。
例如:xlsRangetras.value有“123.0,124.0,没什么,没什么”,因为System.Array成功运行
但如果xlsRangetras.value的“123.0”为Double,则会给我错误。
如何在我的情况下将Double值转换为Array。
请帮忙。
答案 0 :(得分:0)
Dim helper As Object = xlsRangetrans.Value
Dim transArray(,) As Object = _
If(TypeOf helper Is Object(,), helper, {{DirectCast(helper, Object)}})
<强>更新强>
显然,旧的.NET版本中不存在If
运算符。在这种情况下,这段代码可能会有所帮助。
Dim helper As Object = xlsRangetrans.Value
Dim transArray(,) As Object
If TypeOf helper Is Object(,) Then
transArray = helper
Else
transArray = {{DirectCast(helper, Object)}}
End If