使用VB.NET按列读取Excel数据

时间:2011-10-05 19:14:26

标签: vb.net excel

我从来没有读过VB.NET中的excel文件,所以很抱歉,如果有什么事情发生的话。

我从具有8列的供应商ftp服务下载.csv文件 (样式# - mfr.item# - 描述 - 金属类型 - 可用性 - 中心重量 - 总重量 - 零售价值)

我正在尝试检索风格#和零售价值的行中的所有数据 大概有4,649行

我不知道该怎么做。

我使用microsoft.office.interop.excel加载excel文件:

Dim eApp As excel.Application
Dim eBook As excel.Workbook
Dim eSheet As excel.Worksheet
Dim eCell As excel.Range

eApp = New excel.Application
eBook = eApp.Workbooks.Open(localFile)
eSheet = eBook.Worksheets(1)
eCell = eSheet.UsedRange

任何人都可以帮我解决下一步需要做的事情吗?我现在已经浏览了谷歌几个小时并且没有任何工作,只需返回一个对象名称。

由于

2 个答案:

答案 0 :(得分:3)

你几乎就在那里!这有两种方式。

方式#1:在eCell = eSheet.UsedRange

之后添加以下内容
Dim eCellArray as System.Array = eCell.Value

然后通过eCellArray(r,c)获取值,其中r是行,c是列(每个从1开始)。

方式#2:使用此表达式获取单元格的值:

CType(eCell(r,c),Excel.Range).Value ' For Option Strict, or just to get IntelliSense to work.

或只是

eCell(r,c).Value

HTH

答案 1 :(得分:1)

例如,您可以访问以下范围内的单元格:

Dim iRow as Integer = 1
Dim iCol as Integer
Dim rng as Excel.Range = getYourRangeFromSomewhere()
Dim rngCell as Excel.Range

For iCol = 1 To 10 
   rngCell = rng.Cells(iRow,iCol)
   Debug.Print rngCell.Value
Next