Export Eul to Excel
Zuletzt geändert: 24.05.2026 21:20

Übersicht

Export-EulToExcel #

ÜBERSICHT #

Exportiert eine EULANDA-Tabelle als Excel-Datei (.xlsx).

SYNTAX #

Export-EulToExcel [-Conn] <__ComObject> [-Table] <string> [-Path] <string> [[-Columns] <string[]>]
    [[-Where] <string>] [[-OrderBy] <string>] [[-Top] <int>] [-IncludeBreadcrumbs]
    [[-BreadcrumbColumnName] <string>] [[-BreadcrumbSeparator] <string>] [[-SplitLanguages]
    <string[]>] [[-SplitColumns] <string[]>] [-StripHtml] [[-WorksheetName] <string>] [-NoAutoSize]
    [-NoAutoFilter] [-NoFreezeHeader] [-NoBoldHeader] [[-HeaderStyle] <string>] [-AsTable]
    [[-TableStyle] <string>] [-PassThru] [<CommonParameters>]

BESCHREIBUNG #

Liest eine Tabelle (mit optionalen Filter-, Spalten- und Sortierungs-Angaben) und schreibt sie als Excel-Arbeitsmappe. Optional werden auch die zugeordneten Merkmale (Breadcrumbs) jedes Datensatzes als zusätzliche Spalte exportiert.

Datentypen werden anhand des SQL-Schemas auf passende Excel-Zellformate abgebildet:

  • DateTime / Date / Timestamp → Datums-Zellformat (yyyy-mm-dd hh:mm:ss)
  • Currency / Money / SmallMoney → #,##0.00 (Tausender + zwei Nachkomma)
  • Decimal / Numeric → #,##0.<scale×0> (Skala kommt aus dem Schema)
  • Float / Double → #,##0.00###### (Tausender + bis zu 6 Nachkomma)
  • Integer / SmallInt / BigInt / TinyInt → #,##0 (Tausender)
  • VarChar / Char / NVarChar / NChar → @ (Text, schützt führende Nullen z.B. bei PLZ oder Konto-Nummern beim Öffnen in Excel)
  • alles andere → Default (keine Formatierung)

Erste Zeile enthält Spaltenüberschriften (Header). Default: Spaltenbreiten automatisch, AutoFilter, Header fett und fixiert. Über die -No*-Switches kann jedes dieser Defaults abgeschaltet werden. Optional zusätzlich: farbiger Header (-HeaderStyle) oder Excel-Tabelle (-AsTable).

Die Funktion nutzt das Modul ImportExcel. Caller-owns-Connection.

PARAMETER #

-Conn #

Type: __ComObject

Offene ADODB-Verbindung zur EULANDA-Datenbank. Wird NICHT geschlossen.

-Table #

Type: string

Tabellenname (z.B. ‘Artikel’, ‘Adresse’, ‘RechnungPos’).

-Path #

Type: string

Zielpfad der zu erzeugenden .xlsx-Datei. Existierende Datei wird überschrieben.

-Columns #

Type: string[]

Spaltenauswahl. Default: alle Spalten. Reihenfolge bleibt erhalten.

-Where #

Type: string

Optionale WHERE-Klausel OHNE Schlüsselwort.

-OrderBy #

Type: string

Optionale ORDER BY-Klausel OHNE Schlüsselwort.

-Top #

Type: int
Default: 0

Maximale Zeilenanzahl. 0 = unbegrenzt (Default).

-IncludeBreadcrumbs #

Type: switch

Wenn gesetzt, wird zusätzlich eine Spalte mit den zugeordneten Merkmal-Pfaden des Datensatzes exportiert (über Get-Breadcrumbs). Voraussetzung: Tabelle ist Teil des Merkmalbaums (Artikel, Adresse, Rechnung, …) und hat eine PK-Spalte ‘id’. Die Spalte heißt standardmäßig _Breadcrumbs, mehrere Pfade werden durch ; getrennt.

Hinweis: pro Datensatz ein SQL-Roundtrip. Bei großen Datenmengen (>1000 Zeilen) merklich langsamer.

-BreadcrumbColumnName #

Type: string
Default: '_Breadcrumbs'

Spaltenname für die Breadcrumb-Spalte. Default: _Breadcrumbs.

-BreadcrumbSeparator #

Type: string
Default: '; '

Trenner zwischen Breadcrumb-Pfaden in der Excel-Zelle. Default: ; .

-SplitLanguages #

Type: string[]

Optional: Iso-Codes (z.B. ‘de’,’en’). Aktiviert die Sprach-Splittung für mehrsprachige Felder im EULANDA-Tag-Format [DE]...[EN].... Pro gesplitteter Quellspalte werden im Excel <Spalte>_<iso> und <Spalte>_other erzeugt; die Original-Spalte entfällt. Setzt -SplitColumns voraus.

-SplitColumns #

Type: string[]

Spaltennamen, deren Inhalt nach -SplitLanguages aufgeteilt werden soll (z.B. ‘Langtext’). Nur Spalten, die auch in -Columns/im Schema sind, werden berücksichtigt.

-StripHtml #

Type: switch

Wenn gesetzt: HTML-Tags werden aus den gesplitteten Sprach-Texten entfernt (via Remove-HtmlTags). NUR für reine Berichte sinnvoll – der Roundtrip Import schreibt dann Plain-Text in die DB zurück, HTML-Markup geht verloren.

-WorksheetName #

Type: string

Name des Excel-Tabellenblatts. Default: Tabellenname.

-NoAutoSize #

Type: switch

Spaltenbreiten nicht automatisch anpassen (schneller bei vielen Spalten).

-NoAutoFilter #

Type: switch

Kein AutoFilter (Filter-Pfeile) im Header. Default: AutoFilter ein.

-NoFreezeHeader #

Type: switch

Header-Zeile nicht fixieren. Default: erste Zeile bleibt beim Scrollen sichtbar.

-NoBoldHeader #

Type: switch

Header nicht fett. Default: erste Zeile ist fett.

-HeaderStyle #

Type: string
Default: 'None'

Optional: Farbschema für die Header-Zeile (Hintergrundfarbe + weiße Schrift). Werte: None (Default, ohne Farbe), Default (Blau-Akzent), Blue, Gray, Green. Wirkt zusätzlich zu BoldHeader.

-AsTable #

Type: switch

Wenn gesetzt: der ausgegebene Bereich wird als echte Excel-Tabelle formatiert (mit -TableStyle). Bringt Zebrastreifen, AutoFilter und sortierbare Header in einem Schritt. Achtung: Import-EulFromExcel liest Tabellen anders – beim Roundtrip ist AsTable daher mit Vorsicht zu nutzen.

-TableStyle #

Type: string
Default: 'Medium2'

Excel-Tabellenstil, nur in Verbindung mit -AsTable. Default: Medium2. Weitere gängige Werte: Medium9, Light9, Dark1. Siehe ImportExcel-Doku für die volle Liste.

-PassThru #

Type: switch

Liefert ein PSCustomObject mit Pfad, Zeilen- und Spaltenanzahl zurück. Ohne PassThru gibt die Funktion nichts auf der Pipeline aus.

AUSGABEN #

Mit -PassThru: [PSCustomObject] mit Path, WorksheetName, RowCount,

ColumnCount.

BEISPIELE #

# Komplette Artikel-Tabelle als Excel
Export-EulToExcel -Conn $conn -Table 'Artikel' `
                  -Path 'C:\Temp\Artikel.xlsx'
# Nur aktive Artikel A* mit ausgewählten Spalten + Merkmalen
Export-EulToExcel -Conn $conn -Table 'Artikel' `
                  -Path 'C:\Temp\Artikel.xlsx' `
                  -Columns 'ID','ArtNummer','Kurztext1','Vk','Bestand' `
                  -Where "ArtNummer LIKE 'A%'" `
                  -OrderBy 'ArtNummer ASC' `
                  -IncludeBreadcrumbs `
                  -PassThru

HINWEISE #

Phase 4 Tier 2 – Excel-Pipeline (Export-Seite). Pendant: Import-EulFromExcel. Roundtrip: Export → bearbeiten in Excel → Import zurück; die Identity-Spalte (i.d.R. ID) sorgt für eindeutige Zuordnung beim Update.