oneil88

Powershell Excel Dokument bearbeiten

Hallo Zusammen, vlt. kann mir einer weiterhelfen. Irgendwie komm ich nicht mehr weiter...

Folgendes Szenario:
Ich habe mehrere Werte in einer CSV Datei ausgegeben. Nun möchte ich diese Werte in eine bestehende Excel Dateien eintragen lassen. In dieser Excel gibt es verschiedene Tabellenblätter, in wechem nur ein Werte aus der CSV eingetragen werden soll, der nächste Werte soll dann schon in das darauf folgende Blatt eingetragen werden.
Zwar hab ich jetzt hinbekommen das er die Werte in die Tabellenblätter einträgt, aber es sind in jedem Blatt alle Werte aus der CSV eingetragen. Ich möchte es aber fortlaufend auf jedem Blatt ein Wert.

Wahrscheinlich nur eine Kleinigkeit oder mein Ansatz ist total falsch. Würde mich sehr über Vorschläge freuen und vllt gibt es auch noch eine elegantere Lösung.
Vielen Dank im voraus!
$objexcel = New-Object -ComObject Excel.Application
$workbook = $objexcel.WorkBooks.Open('C:\Temp\test.xlsx')  
$blatt = 2
$Sheet = $workbook.WorkSheets.item($blatt) # Auswahl Worksheet
$objexcel.Visible=$true
$ordner = Get-Content -Path C:\Temp\Ordner.csv 
$Spalte = 2


for($blatt;$blatt -le 4;$blatt++) #Hochzählen Blatt
{$Sheet = $workbook.WorkSheets.item($blatt)
$zeile = 1 

    foreach($Wert in $Ordner) #Werte aus CSV eintragen
    { 
             #leere Zelle finden
        $test = $Sheet.Cells.Item($Zeile,$spalte).text
        while($test -ne "")  
            {
		    $Zeile++
		    $test = $Sheet.Cells.Item($Zeile,$spalte).text
            }
        #Ausgabe in die ermittelte freie Zelle eintragen
	    $Sheet.Cells.Item($Zeile,$spalte) = $Wert

    }
}

VG
ONeil88
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 618581

Url: https://administrator.de/forum/powershell-excel-dokument-bearbeiten-618581.html

Ausgedruckt am: 04.05.2025 um 18:05 Uhr

ONeil88
ONeil88 03.11.2020 um 16:42:52 Uhr
Goto Top
Ich glaube ich habe meinen Fehler selber gefunden face-smile
Statt der For Schleife zum hochzählen der Tabellenblätter lasse ich jetzt in der foreach Schleife die Blätter über "$blatt++" hochzählen.
Manchmal... oh man face-smile