powershell script für vergleicher zweier Excel-dateien?

1 Antwort

Untenstehendes Skript öffnet beide Excel-Dateien, vergleicht die Zellen in deinen ersten Arbeitsblättern und gibt die nicht übereinstimmenden Zellen zusammen mit den Informationen zur Arbeitsmappe aus. Die Ergebnisse werden in eine CSV-Datei exportiert.

# Pfade zu den zu vergleichenden Dateien definieren
$PfadDatei1 = "X:\xyz\IP-Adressen.xlsx"
$PfadDatei2 = "X:\xyz\IP-Adressen2.xlsx"
# Excel-Anwendung erstellen
$excelApp = New-Object -ComObject Excel.Application
# Arbeitsmappen öffnen
$workbook1 = $excelApp.Workbooks.Open($PfadDatei1)
$workbook2 = $excelApp.Workbooks.Open($PfadDatei2)
# Arbeitsblätter aus den Arbeitsmappen auswählen
$worksheet1 = $workbook1.Sheets.Item(1)
$worksheet2 = $workbook2.Sheets.Item(1)
# Vergleich der Arbeitsblätter
$range1 = $worksheet1.UsedRange
$range2 = $worksheet2.UsedRange
# Durchlaufen der Zellen und Vergleich
$Unterschiede = @()
for ($row = 1; $row -le $range1.Rows.Count; $row++) {
  for ($col = 1; $col -le $range1.Columns.Count; $col++) {
    $cell1 = $range1.Cells.Item($row, $col)
    $cell2 = $range2.Cells.Item($row, $col)
    if ($cell1.Text -ne $cell2.Text) {
      $Unterschiede += @{
        "Arbeitsmappe1" = $workbook1.Name
        "Arbeitsmappe2" = $workbook2.Name
        "Zelle" = "$($cell1.Address)"
        "Wert1" = $cell1.Text
        "Wert2" = $cell2.Text
      }
    }
  }
}
# Arbeitsmappen schließen
$workbook1.Close()
$workbook2.Close()
# Excel-Anwendung beenden
$excelApp.Quit()
# Prüfen ob Unterschiede gefunden wurden und in CSV exportieren
if ($Unterschiede.Count -eq 0) {
  Write-Host "Keine Unterschiede gefunden"
} else {
  $Unterschiede | Export-Csv -Path "X:\xyz\Documents\Ergebnis.csv" -NoTypeInformation -Force
  Write-Host "Unterschiede gefunden. Die Ergebnisse wurden in Ergebnis.csv gespeichert."
}
MiMei3186 
Fragesteller
 15.09.2023, 12:01

Super! Vielen Dank

1
MiMei3186 
Fragesteller
 16.09.2023, 18:56
@peterandres4760

Ja die Überprüfung hat geklappt. Leider gibt er beim ausgeben in eine CSV die Koordinaten der Zelle nicht korrekt an. Habs dann einfach in ne txt ausgeben lassen, da passt es. Nochmals vielen Dank✌️ du hast mir mega geholfen

1
peterandres4760  16.09.2023, 19:00
@MiMei3186

Ich muss dir was beichten.

Neben der Tatsache, dass ich froh bin, dir geholfen zu haben, muss ich dir sagen, dass ich deine Frage einfach in ChatGPT eingefügt habe.

Tatsächlich hat das, was ChatGPT ausgespuckt hat, funktioniert. Sonst hättest du ja was anderes geschrieben.

Ich rate dir an; In Zukunft einfach mal zuerst mit ChatGPT versuchen. So viel wie Details in deine Frage einfügen wie nur möglich.
In den meisten Fällen kommst du, auch wenn du ChatGPT ein paar Korrekturen vornehmen lassen musst, bevor das Endprodukt dann fertig ist (und funktioniert), trotzdem an das von dir gewünschte Ergebnis.

0