在vb.net中循环遍历excel工作簿

时间:2011-07-22 12:42:49

标签: vb.net excel loops ms-office xls

我正在处理xls个文件夹,这些文件的格式相同(通过在定价应用中输入数字自动生成)。我需要在每个文件中的同名工作表上提取单元格D54中的数据。似乎没有任何工作可以让它循环。

任何想法如何做到这一点?

1 个答案:

答案 0 :(得分:0)

如果您可以使用XLSX格式 生成文件,那么这就是我要做的。

http://epplus.codeplex.com/

这是一个用于处理Excel XLSX工作表的神奇组件库。

示例...

Sub temp()
    Dim out As New List(Of String)
    Using pac As New ExcelPackage(New IO.FileInfo("c:\temp.xlsx"))
        For Each wb As ExcelWorksheet In pac.Workbook.Worksheets
            out.Add(wb.Cells("D54").Value.ToString)
        Next
    End Using
End Sub

否则,该选项是从办公室引用Excel Com + Library打开一个XLS表,其代码应与下面的代码类似。

Sub temp2()
    Dim out As New List(Of String)
    Dim app As New Microsoft.Office.Interop.Excel.Application
    app.DisplayAlerts = False
    Dim wb As Microsoft.Office.Interop.Excel.Workbook = app.Workbooks.Open("c:\temp.xls")
    For Each ws As Microsoft.Office.Interop.Excel.Worksheet In wb.Worksheets
        Dim r As Microsoft.Office.Interop.Excel.Range = ws.Cells(54, 4)
        out.Add(r.Value.ToString)
    Next
    app.close()
End Sub