将Excel范围转换为集合

时间:2014-03-06 21:40:30

标签: arrays vb.net collections

所以,我想看看是否有办法将二维excel范围转换为集合。所以,不言而喻,我只想将信息保存在A列中,即数组的第一个索引。到目前为止,我已经成功控球了......

Dim ExcelAp As New Excel.Application
Dim APbook As Excel.Workbook = ExcelAp.Workbooks.Open("C:\SomeWorkbook.csv")
Dim APsheet As Excel.Worksheet = APbook.Worksheets(1)
Dim myArray As Object(,) = APsheet.UsedRange.Cells.Value

这让我得到一个对象数组。我可以清楚地看到我想要在第一列中获得的值,但我需要将第一列值放入集合中。有没有一种简单的方法可以做到这一点,还是我坚持循环遍历数组以将值添加到集合中?

编辑:所以...进一步使这个变得复杂......当我尝试简单地循环时,抓住'myArray(counter,1)'抛出一个IndexOutofRangeException,当我在imediate窗口中尝试时:{ {1}}我收到错误消息Debug.Print(myArray(0, 1))什么是什么?

1 个答案:

答案 0 :(得分:0)

我其实想发表评论,但我没有足够的代表,所以我必须回答。

你不想用myArray(0,1)开始循环,而是使用myArray(1,1),因为excel数组索引是1而不是0。

至于将数组转换为列表,我找到的唯一方法是循环。