Im folgenden wird beschrieben wie Sie beliebige Datensätze so konfigurieren, dass Inhalte aus angehängten Excel-Dateien automatisch in die Felder der Datensätze gemappt werden können.
Die Excel-Datei aus der die Werte übertragen werden sollen hängt als “DefaultAttachment” an dem entsprechenden Datensatz.
Datentabelle anpassen
Damit der Datensatz mit dem Mapping umgehen kann (und bei der Verarbeitung auch als solcher erkannt wird) braucht er eine Teil-Datentabelle mit dem konkreten Namen „SpreadSheetMappings“. Als Teil-Datentabelle wählen Sie dann „Feldzuordnungen für Tabellenkalkulationen“.

Nach dem Neustart der Anwendung können Sie nun die Maske für diese Datentabelle anpassen.
Maske anpassen
In die Maske fügen Sie ein Teildatensatzcontrol ein, welches die eben erstellte Teil-Datentabelle (Custom_)SpreadSheetMappings verwendet.
Unter dieses Control fügen Sie nun drei weitere Steuerelemente ein:
| Feld | Steuerelement | Beschreibung |
|---|---|---|
| SpreadSheetToWordSheet | Textcontrol | Der Name oder Index (beginnend mit 0) des Arbeitsblattes aus welchem ein Wert übernommen werden soll. |
| SpreadSheetToWordPosition | Textcontrol | Die Position der Zelle aus welcher ein Wert übernommen werden soll. (Bezogen auf das zuvor festgelegte Arbeitsblatt.) |
| SpreadSheetToWordMappedField | Auswahlcontrol | Das Feld in der Datentabelle in welches ein Wert aus der Excel-Datei hin übertragen werden soll. |

Felder in Auswahlliste pflegen
Die Felder welche bei den Feldzuordnungen gewählt werden können werden nicht frei eingetragen sondern in der Auswahlliste „Spreadsheet mapping“ gepflegt.
Dabei muss insb. die Datenspalte exakt mit der Datenspalte im Datensatz übereinstimmen:

Übertragen der Werte
Nun haben Sie in der fertigen Maske einen Block bei dem Sie die Feldzuordnungen vornehmen können:

Wenn Sie nun mit den Datensätzen arbeiten wird bei jeder Änderung an der Tabellenkalkulation im Anhang des Datensatzes nun die Feldzuordnung vorgenommen und die Werte aus den Feldern der Excel-Datei in die Felder des Datensatzes (und der Maske – sofern in der Maske sichtbar) übertragen.
Das passiert durch das OrmEvent “ApplySpreadsheetMappingToOrmBABase”, welches sowohl beim Speichern des aktuellen Datensatzes prüft ob es ein Mapping gibt, und dieses direkt durchführt, als auch beim Wechseln vom Tab (z.B. aus dem Inline-Editor in dem die Excel-Datei bearbeitet und gespeichert wurde zu dem Tab mit dem Datensatz). Ob es ein Mapping gibt sieht das OrmEvent sofort daran, dass der Datensatz über die Teildatentabelle (Custom_)SpreadSheetMappings verfügt. In dem Fall werden dann aus diesen Teildaten alle Felder ermittelt die gemappt werden sollen. Anschließend werden die Daten aus dem Excel geladen und es wird versucht diese auf das Format der Datenspalte in dem Datensatz zu konvertieren. Sollte hier etwas falsch konfiguiriert worden sein (z. B. die Zelle aus der ein Wert kommen soll enthält einen Text, das Feld im Datensatz ist aber ein Datumsfeld), wird dies als Fehler ins Anwendungsprotokoll geschrieben.
Bereichsauswahl
Bei der Bereichsauswahl kann festgelegt werden welcher Bereich aus der Excel-Datei einer Tabellenkalkulationsvorlage in einen Brief eingefügt wird. Dies betrifft nur Briefe, bei denen neben Briefvorlagen auch Excelvorlagen gewählt werden.
Wird nichts festgelegt wird immer das erste Blatt genommen.
Wird nur ein Blattname angegeben, jedoch nicht Beginn und Ende so wird das ganze Blatt genommen. Mit der Angabe eines Blattnamens sowie Beginn und Ende können Sie einen konkreten Bereich aus einem Excel-Baltt in einen Brief einfügen.
| Feld | Beschreibung |
|---|---|
| SpreadSheetToWordSheet | Der Name oder Index (beginnend mit 0) des Arbeitsblattes welches übernommen werden soll. |
| SpreadSheetToWordStart | Die Position der Zelle ab welcher der Bereich beginnen soll, z. B. “B2”. (Bezogen auf das zuvor festgelegte Arbeitsblatt.) |
| SpreadSheetToWordEnd | Die Position der Zelle an welcher der Bereich enden soll, z. B. “F8”. (Bezogen auf das zuvor festgelegte Arbeitsblatt.) |
Beispiel in der Tabellenkalkulationsvorlage:



