Get Excel Header Row
Zuletzt geändert: 23.05.2026 10:43

Übersicht

Get-ExcelHeaderRow #

ÜBERSICHT #

Liest die Header-Zeile einer Excel-Datei und liefert die Spaltennamen in der Original-Reihenfolge als String-Array.

SYNTAX #

Get-ExcelHeaderRow [-Path] <string> [[-WorksheetName] <string>] [[-HeaderRow] <int>]
    [<CommonParameters>]

BESCHREIBUNG #

Öffnet die .xlsx über Open-ExcelPackage (ImportExcel-Modul), liest die erste belegte Zeile (Default: Zeile 1) des angegebenen Worksheets und gibt die Zellwerte als String-Array zurück. Leere Zellen werden übersprungen, damit Spaltenlücken nicht das Mapping verschieben.

Dient als Vorbereitung für Roundtrip-Szenarien: eine bestehende .xlsx wird gelesen, ihre Spaltennamen werden in der UI gegen die DB-Schema-Liste verglichen, und der User exportiert anschliessend nur die Spalten, die schon in der Vorlage stehen — gleiche Struktur wie die Original-Datei.

Nutzt Open-ExcelPackage statt Import-Excel, weil Letzteres bei -NoHeader die Spalten als P1, P2, P3, … benennt und beim Sortieren nach Property-Namen P10 vor P2 landet (lexikographisch).

PARAMETER #

-Path #

Type: string

Pfad zur .xlsx-Datei. Muss existieren, sonst Throw.

-WorksheetName #

Type: string

Optional. Wenn nicht angegeben, wird das erste Worksheet verwendet.

-HeaderRow #

Type: int
Default: 1

Optional. Zeilennummer des Headers. Default 1.

AUSGABEN #

[string[]] Spaltennamen in der Reihenfolge wie in der Excel-Datei.

BEISPIELE #

Get-ExcelHeaderRow -Path 'C:\Temp\Artikel.xlsx'
# → 'ArtNummer','Kurztext1','Vk','Bestand'
# Bestimmtes Worksheet
Get-ExcelHeaderRow -Path 'C:\Temp\Daten.xlsx' -WorksheetName 'Adressen'
# Mit den DB-Schemaspalten abgleichen (Roundtrip-Vorbereitung)
$excelCols = Get-ExcelHeaderRow -Path 'C:\Temp\Artikel.xlsx'
$dbCols    = (Get-FieldListFromTable -Conn $conn -Table 'Artikel' -Preset All) |
               Select-Object -ExpandProperty id
$match = $excelCols | Where-Object { $dbCols -contains $_ }

HINWEISE #

Benötigt das PowerShell-Modul ImportExcel. In Plugin-Aufrufen über ErpXe wird das per Requirements-Mechanismus aus files.eulanda.eu nachgezogen; bei Solo-Tests: Install-Module ImportExcel.

Datei wird mit -NoSave geschlossen — kein Risiko, dass die .xlsx durch den Lese-Vorgang verändert wird.