{"id":151,"date":"2013-09-24T12:38:02","date_gmt":"2013-09-24T10:38:02","guid":{"rendered":"http:\/\/ps.stefanrehwald.de\/?p=151"},"modified":"2013-09-24T12:38:02","modified_gmt":"2013-09-24T10:38:02","slug":"powershell-excel-sheet-auslesen","status":"publish","type":"post","link":"https:\/\/ps.stefanrehwald.de\/?p=151","title":{"rendered":"PowerShell \u2013 Excel-Sheet auslesen"},"content":{"rendered":"<p style=\"text-align: justify;\">Zu n\u00e4chst muss wieder eine COM-Objekt instanziiert werden, anschlie\u00dfend k\u00f6nnen Daten im Excel-Sheet einfach \u00fcber Zeile (Row) und Spalte (Column) ausgelesen werden. Das gew\u00fcnschte Arbeitsblatt, der Standardname bei neuen Dateien ist Tabelle 1, kann \u00fcber den Index oder den Namen angesprochen werden. Also &#8230;Item(1) oder &#8230;Item(&#8222;Tabelle 1&#8220;).<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"lang:ps decode:true\" title=\"Excel-Sheet auslesen Script I\">$Filepath =\"D:\\Auswertungen\\UserData.xlsx\"\r\n\r\n# Variablen\r\n[int]$Zeile = 2 # ab 2, da in Zeile 1 Die Titel stehen\r\n[int]$Spalte = 1\r\n$TableName = \"User Data\"\r\n\r\n#Instanzieren eines COM-Objektes f\u00fcr Excel\r\n$Excel = New-Object -ComObject excel.application\r\n#Excel-Sheet sichtbar machen, hei\u00dft, ob es im Vordergrund oder im Hintergrund geschehen soll.\r\n$Excel.Visible = $false\r\n#Arbeitsmappe laden\r\n$Workbook = $Excel.Workbooks.Open($Filepath)\r\n$Table =$workbook.Worksheets.Item($TableName)\r\n# alternativ zum TableName:\r\n#$Table = $workbook.Worksheets.Item(1)\r\n\r\n# Datei auslesen\r\n\r\n$User_Name = $Table.Cells.Item($Zeile,$Spalte).Text\r\n\r\n#COM-Objektes beenden\r\n$Excel.Quit()\r\n#COM-Objektes aus dem Speicher entfernen\r\n[System.Runtime.Interopservices.Marshal]::ReleaseComObject($excel)<\/pre>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">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\u00f6ht. Enth\u00e4lt das aktuelle Feld keine Zeichen mehr, so wird die Do-While-Schleife beendet.<\/p>\n<pre class=\"lang:ps decode:true\" title=\"Excel-Sheet auslesen Script II\">Zu n\u00e4chst muss wieder eine COM-Objekt instanziert werden, anschlie\u00dfend k\u00f6nnen Daten im Excel-Sheet einfach \u00fcber Zeile (Row) und Spalte (Column) ausgelesen werden. Das gew\u00fcnschte Arbeitsblatt, Standardname bnei neuen Dateien Tabelle 1, kann \u00fcber den Index oder den Namen angesprochen werden. Also ...Item(1) oder ...Item(\"Tabelle 1\").\r\n\r\n$Filepath =\"D:\\Auswertungen\\UserData.xlsx\"\r\n\r\n# Variablen\r\n[int]$Zeile = 2 # ab 2, da in Zeile 1 Die Titel stehen\r\n[int]$Spalte = 1\r\n$TableName = \"User Data\"\r\n\r\n#Instanzieren eines COM-Objektes f\u00fcr Excel\r\n$Excel = New-Object -ComObject excel.application\r\n#Excel-Sheet sichtbar machen, hei\u00dft, ob es im Vordergrund oder im Hintergrund geschehen soll.\r\n$Excel.Visible = $false\r\n#Arbeitsmappe laden\r\n$Workbook = $Excel.Workbooks.Open($Filepath)\r\n$Table =$workbook.Worksheets.Item($TableName)\r\n# alternativ zum TableName:\r\n#$Table = $workbook.Worksheets.Item(1)\r\n\r\n# Datei auslesen\r\ndo {\r\n$User_Name = $Table.Cells.Item($Zeile,$Spalte).Text\r\n$Zeile++\r\n}\r\nwhile($Table.Cells.Item($Zeile,$Spalte).Text.Length -gt 0)\r\n\r\n#COM-Objektes beenden\r\n$Excel.Quit()\r\n#COM-Objektes aus dem Speicher entfernen\r\n[System.Runtime.Interopservices.Marshal]::ReleaseComObject($excel)<\/pre>\n<p>rewe<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Zu n\u00e4chst muss wieder eine COM-Objekt instanziiert werden, anschlie\u00dfend k\u00f6nnen Daten im Excel-Sheet einfach \u00fcber Zeile (Row) und Spalte (Column) ausgelesen werden. Das gew\u00fcnschte Arbeitsblatt, der Standardname bei neuen Dateien ist Tabelle 1, kann \u00fcber den Index oder den Namen &hellip; <a href=\"https:\/\/ps.stefanrehwald.de\/?p=151\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":8,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[2,9],"tags":[243,245,244,253,255,242,248,246,252,251,249,247,241,254],"class_list":["post-151","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-powershell","category-snippet","tag-com","tag-com-objekt","tag-com-schnittstelle","tag-do","tag-do-while","tag-excel","tag-excel-sheel-powershell","tag-excel-sheet","tag-excel-sheet-auslesen","tag-excel-sheet-bearbeiten","tag-excel-sheet-erstellen","tag-excel-sheet-powershell","tag-powershell-excel","tag-while"],"aioseo_notices":[],"jetpack_featured_media_url":"https:\/\/ps.stefanrehwald.de\/wp-content\/uploads\/2013\/08\/logo_powershell.jpg","jetpack_shortlink":"https:\/\/wp.me\/p3N2Ht-2r","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ps.stefanrehwald.de\/index.php?rest_route=\/wp\/v2\/posts\/151","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ps.stefanrehwald.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ps.stefanrehwald.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ps.stefanrehwald.de\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/ps.stefanrehwald.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=151"}],"version-history":[{"count":1,"href":"https:\/\/ps.stefanrehwald.de\/index.php?rest_route=\/wp\/v2\/posts\/151\/revisions"}],"predecessor-version":[{"id":152,"href":"https:\/\/ps.stefanrehwald.de\/index.php?rest_route=\/wp\/v2\/posts\/151\/revisions\/152"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ps.stefanrehwald.de\/index.php?rest_route=\/wp\/v2\/media\/8"}],"wp:attachment":[{"href":"https:\/\/ps.stefanrehwald.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=151"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ps.stefanrehwald.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=151"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ps.stefanrehwald.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=151"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}