Überblick
Der Datenimport ermöglicht es Ihnen, Daten aus externen Quellen in UDM-Datenobjekte zu übernehmen. Sie können Daten in bestehende Datenobjekte importieren oder aus den importierten Daten ein neues Datenobjekt mit automatisch abgeleiteter Spaltenstruktur erstellen lassen.
Der Import unterstützt drei Quellformate:
- Zwischenablage (Clipboard) — Daten direkt aus Excel oder einer Tabellenkalkulation einfügen
- Excel-Dateien (.xlsx, .xls) — Datei-Upload mit Arbeitsblatt-Auswahl
- CSV-Dateien (.csv, .txt) — Datei-Upload mit konfigurierbarem Trennzeichen und Zeichensatz
Variante B: Neues Datenobjekt aus Import erstellen — Sie öffnen das Subsystem-Detail und starten die Aktion „Excel-Import“. UDM erstellt Datenobjekt, Tabelle und optional Datenquelle, Ansichtselement und Eingabedialog automatisch.
Unterstützte Formate
Zwischenablage (Clipboard-Import)
Der schnellste Weg, Daten zu importieren: Markieren Sie in Excel einen Bereich einschließlich Spaltenüberschriften, kopieren Sie ihn mit Strg+C und fügen Sie ihn im Import-Dialog über die Schaltfläche „Aus Zwischenablage einfügen“ ein.
- Format: Tab-separierte Werte (TSV), wie sie Excel beim Kopieren erzeugt
- Mehrzeilige Zellinhalte (Alt+Enter in Excel) werden korrekt erkannt
- Gequotete Felder mit eingebetteten Tabs oder Anführungszeichen werden unterstützt
- Leere Zeilen (z. B. bei nicht-zusammenhängender Markierung) werden automatisch herausgefiltert
Excel-Dateien (.xlsx, .xls)
Laden Sie eine Excel-Datei hoch und wählen Sie das gewünschte Arbeitsblatt aus. UDM erkennt die Spaltenüberschriften automatisch aus der von Ihnen festgelegten Kopfzeile.
| Einstellung | Beschreibung |
|---|---|
| Arbeitsblatt | Name des Tabellenblatts, das importiert werden soll |
| Kopfzeile | Zeilennummer der Spaltenüberschriften (Standard: Zeile 1) |
CSV-Dateien (.csv, .txt)
Beim CSV-Import können Sie zusätzliche Format-Einstellungen vornehmen, um unterschiedliche Datei-Konventionen zu berücksichtigen:
| Einstellung | Beschreibung |
|---|---|
| Trennzeichen | Feldtrenner (Standard: Semikolon ;). Weitere gängige Werte: Komma , oder Tab |
| Textqualifizierer | Zeichen für eingeschlossene Textfelder (Standard: Anführungszeichen ") |
| Zeichensatz | Zeichencodierung der Datei (Standard: UTF-8). Bei Umlauten-Problemen auf Windows-1252 wechseln |
| Kultur | Legt Dezimal- und Datumsformate fest (Standard: de-DE) |
| Kopfzeile vorhanden | Wenn aktiviert, wird die erste Zeile als Spaltenüberschrift verwendet |
| Werte trimmen | Entfernt führende und nachfolgende Leerzeichen aus allen Werten |
Schritt für Schritt: Import durchführen
Variante A: Import in bestehendes Datenobjekt
- Entity-Detail öffnen Navigieren Sie im Admin-Client zum gewünschten Datenobjekt und öffnen Sie dessen Detail-Ansicht.
- Import starten Klicken Sie in der Toolbar auf die Aktion „Import“. Der Import-Dialog öffnet sich als eigene Unterseite (Child-Page).
- Daten einfügen Klicken Sie auf „Aus Zwischenablage einfügen“, um zuvor in Excel kopierte Daten einzufügen. Alternativ laden Sie eine Excel- oder CSV-Datei hoch.
-
Import-Einstellungen prüfen
- Kopfzeile vorhanden: Aktivieren Sie diese Option, wenn die erste Zeile Spaltenüberschriften enthält (Standard: aktiviert). Bei Deaktivierung werden generische Spaltennamen erzeugt („Spalte 1“, „Spalte 2“ …).
- Vorhandene Daten ersetzen: Wenn aktiviert, werden vor dem Import alle bestehenden Datensätze gelöscht und durch die neuen Daten ersetzt.
- Spaltenzuordnung prüfen UDM versucht, Quellspalten automatisch den Zielspalten zuzuordnen (Auto-Mapping anhand der Spaltennamen). Prüfen und korrigieren Sie die Zuordnungen im Spalten-Mapping-Bereich. Nicht zugeordnete Zielspalten bleiben beim Import leer.
- Vorschau kontrollieren Unterhalb des Mappings zeigt eine Vorschau-Tabelle die transformierten Daten, wie sie importiert werden. Prüfen Sie Stichproben auf Korrektheit.
- Validieren und importieren Klicken Sie auf „Validieren“, um Pflichtfelder und Datentypen zu prüfen. Nach erfolgreicher Validierung klicken Sie auf „Importieren“, um den Import zu starten.
- Protokoll prüfen Nach Abschluss öffnet sich der Protokoll-Tab. Er zeigt eine Zusammenfassung (importierte Zeilen, Warnungen, Fehler) sowie das zeilenweise Importprotokoll.
Variante B: Neues Datenobjekt aus Import erstellen
- Subsystem-Detail öffnen Navigieren Sie zum Subsystem, in dem das neue Datenobjekt angelegt werden soll.
- Excel-Import starten Klicken Sie in der Toolbar auf „Excel-Import“. Der Import-Dialog für ein neues Datenobjekt öffnet sich.
-
Objektname und Optionen festlegen
- Objektname: Technischer Name des neuen Datenobjekts (z. B.
Projektdaten) - Objekt-Titel: Anzeigename für Endanwender
- Titelspalte / Titelformat: Legt fest, welche Spalte als Bezeichner für Einzeldatensätze dient
- Datenquelle erstellen: Erzeugt automatisch eine UDM-Datenquelle (Checkbox)
- Ansichtselement (Grid) erstellen: Erzeugt automatisch ein Grid-Ansichtselement (setzt Datenquelle voraus)
- Eingabedialog erstellen: Erzeugt automatisch einen Eingabedialog (Checkbox)
- App-Auswahl: Zielsanwendung für Ansichtselement und Dialog
- Objektname: Technischer Name des neuen Datenobjekts (z. B.
-
Daten einfügen
Kopieren Sie die Daten aus Excel und fügen Sie sie über „Aus Zwischenablage einfügen“ ein. UDM analysiert die Daten automatisch:
- Spaltenstruktur wird aus den Überschriften abgeleitet
- Datentypen werden per Typ-Inferenz erkannt (String, Int32, Double, DateTime, Boolean, GUID)
- Eine PK-Spalte „Id“ (GUID) und eine Zählerspalte
row_numberwerden automatisch hinzugefügt
- Spalten prüfen und anpassen In der Spalten-Tabelle können Sie pro Spalte den Namen, den DB-Feldnamen, den Datentyp und den Import-Modus (Direkt, Lookup, Neu) anpassen. Der Datentyp kann manuell übersteuert werden (z. B. von Int32 auf String für PLZ-Spalten).
- Importieren Beim Klick auf „Importieren“ werden zunächst Datenobjekt und optionale UDM-Elemente erstellt, anschließend die Daten importiert. Der Fortschritt wird schrittweise angezeigt.
Spaltenzuordnung (Mapping)
Die Spaltenzuordnung legt fest, welche Quellspalte in welches Zielfeld importiert wird. Die Konfiguration erfolgt in einem zweigeteilten Bereich:
- Links — Spalten-Tabelle: Übersicht aller Zielspalten mit Quellzuordnung, Datentyp und Modus
- Rechts — Detailbereich: Zeigt Detailinformationen zur markierten Spalte (Name, Typ, Modus) sowie bei Lookup-Spalten die Lookup-Konfiguration
Auto-Mapping
Beim Einfügen der Daten versucht UDM, Quell- und Zielspalten automatisch anhand des Namens zuzuordnen. Das Auto-Mapping erkennt einfache Übereinstimmungen. Für abweichende Spaltennamen müssen Sie die Zuordnung manuell über das Dropdown-Menü in der Quellspalte anpassen.
Zuordnung nach Reihenfolge
Bei Daten ohne Kopfzeile können Sie die Schaltfläche „Nach Reihenfolge zuordnen“ verwenden. Dabei werden die Quellspalten in der Reihenfolge ihrer Position den Zielspalten zugewiesen. Die Primärschlüssel-Spalte wird dabei automatisch übersprungen.
Import-Modi pro Spalte
Jede Spalte kann einen von drei Import-Modi haben:
| Modus | Beschreibung | Anwendungsfall |
|---|---|---|
| Direkt | Der Quellwert wird unverändert (nach Typ-Konvertierung) in das Zielfeld übernommen | Standardfall für die meisten Spalten |
| Lookup | Der Quellwert wird gegen eine bestehende Lookup-Tabelle aufgelöst und durch den Fremdschlüssel ersetzt | Z. B. Abteilungsname → Abteilungs-ID |
| Neu… | Aus den Distinct-Werten der Quellspalte wird eine neue Lookup-Tabelle erzeugt. Anschließend erfolgt die Auflösung wie bei „Lookup“ | Z. B. Kategorienamen, die noch keine eigene Tabelle haben |
CreatedAt, CreatedFrom, ChangedAt und ChangedFrom werden im Mapping nicht angezeigt und automatisch vom Server befüllt.
Lookup-Spalten und Transformationen
Lookup gegen bestehende Tabelle
Wenn Sie den Modus „Lookup“ für eine Spalte wählen, konfigurieren Sie im Detailbereich:
| Einstellung | Beschreibung |
|---|---|
| Lookup-Tabelle | Das bestehende Datenobjekt, gegen das aufgelöst wird (z. B. „Abteilungen“) |
| Suchfeld | Das Feld in der Lookup-Tabelle, das mit dem Quellwert verglichen wird (z. B. „Name“) |
| Ergebnisfeld | Das Feld, dessen Wert als Fremdschlüssel übernommen wird (typischerweise „Id“) |
Das Lookup-Matching erfolgt case-insensitive — „Einkauf“ und „einkauf“ werden als identisch erkannt.
Neue Lookup-Tabelle erstellen
Wenn Sie den Modus „Neu…“ wählen, erstellt UDM eine neue Lookup-Tabelle aus den Distinct-Werten der Quellspalte. Folgende Optionen stehen zur Verfügung:
| Einstellung | Beschreibung |
|---|---|
| Tabellenname | Technischer Name des neuen Datenobjekts |
| Anzeige-Titel | Titel für die Anzeige in der Oberfläche |
| PK-Typ | Primärschlüssel-Typ: GUID (Standard) oder Int32 (Autoincrement) |
| Wertspalte | Name der Spalte für den Textwert (Standard: „Name“) |
| Datenquelle erstellen | Erstellt automatisch eine UDM-Datenquelle für die neue Tabelle |
Spaltentransformationen
Zusätzlich zum Import-Modus kann pro Spalte eine Transformation konfiguriert werden. Die Transformation wird vor der Typ-Konvertierung auf den Rohwert angewendet:
| Transformationstyp | Beschreibung | Beispiel |
|---|---|---|
| Split | Zerlegt einen Wert anhand eines Trennzeichens | „Müller, Hans“ → Teil 0: „Müller“, Teil 1: „Hans“ |
| Datumsformat | Parst ein Datum mit benutzerdefiniertem Quellformat | „02.2025“ mit Format MM.yyyy → 01.02.2025 |
| Suchen/Ersetzen | Ersetzt Textvorkommen im Wert | „A“ → „Aktiv“, „I“ → „Inaktiv“ |
| RegEx-Extraktion | Extrahiert einen Teil per regulärem Ausdruck | Muster (\d{2})\.(\d{4}) → „01.$1.$2“ |
| Prefix/Suffix | Fügt Text vor oder nach dem Wert ein | Prefix „DE-“ → „DE-12345“ |
Transformationen lassen sich mit allen Import-Modi kombinieren — eine Spalte kann z. B. den Modus „Lookup“ und zusätzlich eine „Suchen/Ersetzen“-Transformation haben. Die Transformation wird vor der Lookup-Auflösung ausgeführt.
Fehlerbehandlung und Validierung
UDM importiert Daten zeilenweise und protokolliert jede Zeile einzeln. Ein Fehler in einer Zeile führt nicht zum Abbruch des gesamten Imports — fehlerhafte Zeilen werden übersprungen, alle anderen Zeilen normal importiert.
Zweistufige Fehlerbehandlung
| Phase | Prüfung | Beispiele |
|---|---|---|
| Phase 1: Konvertierung | Typ-Konvertierung der Quellwerte in die Zieldatentypen | Text in numerischer Spalte, ungültige GUID, falsches Datumsformat |
| Phase 2: Datenbank | Datenbank-Constraints beim Einfügen | DateTime-Überlauf, Pflichtfeld leer, String zu lang, Unique-Verletzung |
Import-Protokoll
Nach Abschluss des Imports wird automatisch der Protokoll-Tab angezeigt. Das Protokoll umfasst:
- Session-Zusammenfassung: Gesamtzeilen, erfolgreich importiert, Warnungen und Fehler, Dauer
- Ausführungsschritte: Bei Imports mit Lookup-Tabellen zeigt das Protokoll jeden einzelnen Schritt (Tabelle erstellen, Werte einfügen, Datenquelle erstellen, Cache aufbauen, Daten importieren)
- Zeilenprotokoll: Ein filterbares Grid mit jeder importierten Zeile. Filter-Buttons ermöglichen die Anzeige aller Zeilen, nur erfolgreicher oder nur fehlerhafter Zeilen
- Fehlerdetails: Pro fehlerhafter Zeile werden Spalte, Zieldatentyp, Rohwert und Fehlermeldung angezeigt
- Originaldaten: Zu jeder Zeile können die vollständigen Originaldaten (RawData) eingesehen werden
TImportSession und TImportRowLog). Sie können auch zu einem späteren Zeitpunkt eingesehen werden, um fehlerhafte Zeilen nachzuerfassen.
Import-Vorlagen
Für wiederkehrende Importe mit gleicher Spaltenstruktur können Sie die Import-Konfiguration als Vorlage speichern. Eine Vorlage umfasst:
- Spaltenzuordnungen (welche Quellspalte auf welches Zielfeld)
- Lookup-Konfigurationen (Lookup-Tabelle, Such- und Ergebnisfeld)
- Transformationseinstellungen pro Spalte
- Import-Optionen (Kopfzeile, Trennzeichen, vorhandene Daten ersetzen)
Praxisbeispiele
Sie haben eine Excel-Tabelle mit Spalten „Name“, „E-Mail“, „Abteilung“ und „Kategorie“. Die Abteilungen existieren bereits als Datenobjekt in UDM, die Kategorien noch nicht.
- Öffnen Sie das Datenobjekt „Mitarbeiter“ und starten Sie den Import.
- Kopieren Sie die Daten inkl. Spaltenüberschriften aus Excel und fügen Sie sie ein.
- Setzen Sie die Spalte „Abteilung“ auf den Modus Lookup und wählen Sie die bestehende Entity „Abteilungen“ als Lookup-Tabelle (Suchfeld: „Name“, Ergebnisfeld: „Id“).
- Setzen Sie die Spalte „Kategorie“ auf den Modus Neu… Geben Sie „Kategorie“ als Tabellennamen ein. UDM zeigt die gefundenen Distinct-Werte an und erstellt vor dem Import automatisch die neue Lookup-Tabelle.
- Prüfen Sie die Vorschau und klicken Sie auf „Importieren“.
Ergebnis: Die Spalten „Abteilung“ und „Kategorie“ enthalten im importierten Datenobjekt die jeweiligen Fremdschlüssel (GUIDs), nicht die Textwerte. Die neue Tabelle „Kategorie“ wurde automatisch mit den Distinct-Werten befüllt.
Sie erhalten per E-Mail eine Excel-Tabelle mit Projektdaten, die Sie schnell als Datenobjekt in UDM verfügbar machen möchten — ohne manuell Felder und Tabellen anzulegen.
- Öffnen Sie das gewünschte Subsystem und starten Sie „Excel-Import“.
- Geben Sie „Projektdaten“ als Objektnamen ein.
- Aktivieren Sie die Optionen „Datenquelle erstellen“ und „Ansichtselement (Grid) erstellen“, damit die Daten sofort in der Anwendung sichtbar sind.
- Kopieren Sie die Excel-Daten mit Überschriften und fügen Sie sie ein.
- UDM erkennt automatisch die Spaltentypen. Prüfen Sie die Typ-Inferenz und passen Sie bei Bedarf an (z. B. PLZ von „Int32“ auf „String“).
- Klicken Sie auf „Importieren“.
Ergebnis: UDM erstellt automatisch das Datenobjekt mit PK-Spalte („Id“, GUID) und Zählerspalte (row_number), die Datenquelle und das Grid-Ansichtselement. Die Daten sind sofort in der konfigurierten App sichtbar.
Ihre Excel-Tabelle enthält eine Spalte „Name“ mit Vor- und Nachname in einer Zelle (z. B. „Müller, Hans“), aber das Datenobjekt hat getrennte Felder „Nachname“ und „Vorname“.
- Starten Sie den Import in das bestehende Datenobjekt.
- Fügen Sie die Daten ein und ordnen Sie die Spalte „Name“ dem Zielfeld „Nachname“ zu.
- Wählen Sie für diese Zuordnung die Transformation Split mit Trennzeichen
,und Teil-Nr. 0 (erster Teil = Nachname). - Ordnen Sie dieselbe Quellspalte „Name“ zusätzlich dem Zielfeld „Vorname“ zu, ebenfalls mit Split-Transformation, aber Teil-Nr. 1 (zweiter Teil = Vorname).
- Die Live-Vorschau zeigt die transformierten Werte zur Kontrolle an.
Tipps und Warnungen
Guid.CreateVersion7()-Werte, bei Identity-PKs (Autoincrement) erzeugt die Datenbank den Wert.
Int32 erkannt. Ändern Sie den Typ manuell auf String, wenn führende Nullen erhalten bleiben sollen.
Häufige Fragen
Welche maximale Zeilenanzahl kann ich importieren?
Es gibt keine feste Obergrenze. Die Daten werden in Batches von jeweils 50 Zeilen verarbeitet, sodass auch größere Datenmengen zuverlässig importiert werden. Bei sehr großen Datenmengen (mehrere tausend Zeilen) kann der Import einige Minuten dauern. Der Fortschritt wird im Protokoll-Bereich angezeigt.
Was passiert, wenn einzelne Zeilen Fehler enthalten?
Fehlerhafte Zeilen werden übersprungen und im Import-Protokoll mit Fehlermeldung und Originaldaten dokumentiert. Alle übrigen Zeilen werden normal importiert. Sie können die fehlerhaften Zeilen später im Protokoll einsehen, korrigieren und erneut importieren.
Kann ich einen Import rückgängig machen?
Die technische Grundlage für eine Undo-Funktion ist vorhanden — alle erfolgreich importierten Zeilen werden mit ihren Primärschlüsseln im Protokoll gespeichert. Eine explizite „Rückgängig“-Schaltfläche ist für eine künftige Version geplant. Alternativ können Sie die Daten über die Aktion „Alle Daten löschen“ im Entity-Detail entfernen.
Warum werden meine Postleitzahlen als Zahlen ohne führende Null importiert?
Die automatische Typ-Inferenz erkennt Spalten mit reinen Zahlenwerten als Int32. Ändern Sie den Datentyp im Spalten-Grid manuell auf String, damit führende Nullen erhalten bleiben (z. B. „01234“ statt „1234“).
Wie funktioniert das Lookup-Matching bei Groß-/Kleinschreibung?
Die Lookup-Auflösung arbeitet case-insensitive. Das heißt, „Einkauf“, „einkauf“ und „EINKAUF“ werden identisch aufgelöst. Sie müssen die Schreibweise in Ihren Quelldaten nicht manuell anpassen.
Brauche ich die Clipboard-Berechtigung im Browser?
Ja. Der Clipboard-Import nutzt die Browser-API navigator.clipboard.readText(). Damit diese funktioniert, muss die Anwendung über HTTPS aufgerufen werden und der Browser muss die Zwischenablage-Berechtigung erteilt haben. In der Regel fragt der Browser beim ersten Zugriff nach der Erlaubnis.
Was passiert, wenn eine neue Lookup-Tabelle bei Fehler bereits teilweise erstellt wurde?
UDM führt bei Fehlern in der Vorbereitungsphase (Tabelle erstellen, Werte einfügen, Datenquelle erstellen) einen automatischen Rollback durch: Alle bis dahin erstellten Artefakte werden wieder entfernt. Der Import wird abgebrochen und es werden keine Daten verändert. Bei bereits existierenden Lookup-Tabellen (gleicher Name im gleichen Subsystem) wird die bestehende Tabelle wiederverwendet.
Kann ich beim Import auch ein Ansichtselement und einen Dialog erstellen?
Ja, aber nur bei Variante B (neues Datenobjekt). Aktivieren Sie die entsprechenden Checkboxen und wählen Sie die Ziel-App aus. UDM erstellt dann Datenobjekt, Datenquelle, Grid-Ansichtselement und Eingabedialog in einem Schritt.