2011-07-22 3 views
0

Je travaille avec un dossier de xls fichiers qui sont tous dans un format identique (généré automatiquement en entrant des numéros dans une application de tarification). J'ai besoin de tirer les données qui sont dans la cellule D54 sur la feuille de calcul du même nom dans chaque fichier. Je n'arrive pas à faire quoi que ce soit pour que ça marche.Boucle à travers des classeurs Excel dans vb.net

Des idées comment cela peut-il être fait?

Répondre

0

Si vous pouvez avoir les fichiers générés au format XLSX alors c'est ce que je ferais.

http://epplus.codeplex.com/

Ceci est une bibliothèque de composants étonnante pour traiter les feuilles Excel XLSX.

... Exemple

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 

Sinon, l'option est de référencer Excel Com + bibliothèque de bureau pour ouvrir une feuille XLS avec ce qui devrait être un code similaire comme ci-dessous.

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 
Questions connexes