2011-07-22 47 views
0

我正在處理一個文件夾爲xls的文件,這些文件的格式都完全相同(通過將數字輸入到定價應用中自動生成)。我需要在每個文件中的相同名稱的工作表上提取單元格D54中的數據。似乎無法獲得任何工作使其循環。在vb.net中通過excel工作簿進行循環

任何想法如何做到這一點?

回答

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 +庫打開什麼應該是類似的代碼如下的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 
相關問題