Zu nächst muss wieder eine COM-Objekt instanziiert werden, anschließend können Daten im Excel-Sheet einfach über Zeile (Row) und Spalte (Column) ausgelesen werden. Das gewünschte Arbeitsblatt, der Standardname bei neuen Dateien ist Tabelle 1, kann über den Index oder den Namen angesprochen werden. Also …Item(1) oder …Item(“Tabelle 1”).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
$Filepath ="D:\Auswertungen\UserData.xlsx" # Variablen [int]$Zeile = 2 # ab 2, da in Zeile 1 Die Titel stehen [int]$Spalte = 1 $TableName = "User Data" #Instanzieren eines COM-Objektes für Excel $Excel = New-Object -ComObject excel.application #Excel-Sheet sichtbar machen, heißt, ob es im Vordergrund oder im Hintergrund geschehen soll. $Excel.Visible = $false #Arbeitsmappe laden $Workbook = $Excel.Workbooks.Open($Filepath) $Table =$workbook.Worksheets.Item($TableName) # alternativ zum TableName: #$Table = $workbook.Worksheets.Item(1) # Datei auslesen $User_Name = $Table.Cells.Item($Zeile,$Spalte).Text #COM-Objektes beenden $Excel.Quit() #COM-Objektes aus dem Speicher entfernen [System.Runtime.Interopservices.Marshal]::ReleaseComObject($excel) |
Um mehrere Daten abzuarbeiten nutze ich im folgendem Beispiel eine Do-While Schleife. Dabei wird der Wert von $Zeile nach jeder Ausgabe im eins erhöht. Enthält das aktuelle Feld keine Zeichen mehr, so wird die Do-While-Schleife beendet.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
Zu nächst muss wieder eine COM-Objekt instanziert werden, anschließend können Daten im Excel-Sheet einfach über Zeile (Row) und Spalte (Column) ausgelesen werden. Das gewünschte Arbeitsblatt, Standardname bnei neuen Dateien Tabelle 1, kann über den Index oder den Namen angesprochen werden. Also ...Item(1) oder ...Item("Tabelle 1"). $Filepath ="D:\Auswertungen\UserData.xlsx" # Variablen [int]$Zeile = 2 # ab 2, da in Zeile 1 Die Titel stehen [int]$Spalte = 1 $TableName = "User Data" #Instanzieren eines COM-Objektes für Excel $Excel = New-Object -ComObject excel.application #Excel-Sheet sichtbar machen, heißt, ob es im Vordergrund oder im Hintergrund geschehen soll. $Excel.Visible = $false #Arbeitsmappe laden $Workbook = $Excel.Workbooks.Open($Filepath) $Table =$workbook.Worksheets.Item($TableName) # alternativ zum TableName: #$Table = $workbook.Worksheets.Item(1) # Datei auslesen do { $User_Name = $Table.Cells.Item($Zeile,$Spalte).Text $Zeile++ } while($Table.Cells.Item($Zeile,$Spalte).Text.Length -gt 0) #COM-Objektes beenden $Excel.Quit() #COM-Objektes aus dem Speicher entfernen [System.Runtime.Interopservices.Marshal]::ReleaseComObject($excel) |
rewe