Allgemeiner CSV-Import

Tabellen sind für viele Problemstellungen von großer Bedeutung. Die weit verbreitetste Austauschform sind CSV-Dateien. Excel oder LibreOffice können CSV-Dateien importieren und exportieren. Das calladium CMS unterstützt auch den Import und Export von CSV-Dateien, zB. in der Benutzerverwaltung. Die dort in der Benutzerverwaltung eingeführte Beschreibung der Tabellenspalten wird zum großen Teil für den allgemeinen CSV-Import übernommen.

Der allgemeine CSV-Import läuft so ab:

Jede Zeile der Spaltenbeschreibung enthält einen ':'. Davor kann ein Spaltenkopf gefordert werden. Steht nichts vor dem ':', so wird jeder Spaltenkopf akzeptiert. Hinter dem ':' kann ein Objektfeld und/oder Variablen stehen, die den Wert einer Zelle bei der Bearbeitung einer Zeile aufnehmen.

Alle Zeilen können mit '//' kommentiert werden. Alles danach gehört bis zum Ende der Zeile zum Kommentar und wird ignoriert. Leere Zeilen sind erlaubt und werden auch ignoriert.

Beispiel:

Firma         :company.name
Tel.           :tel        // Kann im Format +49... oder 069 12345 sein
:%a, %b
Produktklassen: %classList

Die CSV-Datei muss dann in der ersten Zeile exakt die Kopfbeschriftung aufweisen: "Firma" in A1, "Tel." in B1 und "Produktklassen" in D1. Es werden die Variablen 'a', 'b' und 'classList' gesetzt. Es muss eine Klasse für ein Objekt angegeben werden, denn es werden mit 'tel' und 'company.name' Objektfelder angesprochen. Die Klasse muss diese Felder (und Unterfelder) haben.

Spaltenköpfe

Das Fordern von Spaltenköpfen dient nur der Sicherheit. Die CSV-Datei ist damit in sich dokumentiert und sollten Spalten hinzugenommen, weggenommen oder in der Reihenfolge verändert werden, kann das anhand der Spaltenköpfe entdeckt werden. Die Spalten werden dann aber (zumindest momentan) nicht automatisch zugeordnet, sondern die CSV-Datei wird nicht akzeptiert. Dieses Verhalten kann sich in zukünftigen Versionen eventuell ändern, wenn dies für den konkreten Import gewünscht wird. Dann wird es aber erforderlich sein, dass Spaltenköpfe eindeutig sind.

Sonderfälle

Wollen Sie einen Spaltenkopf fordern, der die Zeichen ':' oder '//' enthält, so er ersetzen sie diese Zeichen in der Beschreibung durch Leerzeichen. Leerzeichen werden auch am Anfang, Ende oder bei mehrfachen Auftreten ignoriert. Für die Zuordnung reicht dieses Verhalten normalerweise aus.