Normalerweise speichert man Applets gezielt als Dokumente ab, wenn man einen Export erzeugen will. Applets können sich aber auch dynamisch zur Laufzeit wie Dokumentexporte verhalten, wenn man ihnen bestimmte dokumentspezifische Parameter übergibt.

Die beiden Varianten funktionieren in der Regel nicht mit Vorlagen, die als BLOBs aus der DB kommen, sondern nur mit Vorlagendateien.

Variante 1: Neue Applet-Instanz als Dokumentexport aufrufen

Ein Applet (z. B. Website) mit dem Parameter Template aufrufen:

Open("MeinApplet?Template=Pages/MeineExportVorlage.xlsx");

Es wird eine neue Instanz inkl. Lifecycle-Events des aufgerufenen Applets erzeugt.

Variante 2: Datenzustand des aktuellen Applets exportieren

Manchmal befindet sich der Benutzer bereits in einem Applet, dessen aktuelle Datensituation man exportieren möchte. Das heißt, es soll keine neue Instanz des Applets erzeugt werden, weil sonst die aktuell eingestellten Filter und Sortierreihenfolgen des Benutzers nicht greifen.

// Der Applet-Instanz eine Vorlage zuweisen
Applet.SetParam("Template", "Pages/MeineExportVorlage.xlsx");
// Falls nötig, alle DVs auf erste Zeile stellen
DV1.ActivateRow(0);
DV11.ActivateRow(0);
DV12.ActivateRow(0);// Ein Dokument aus dieser Applet-Instanz erzeugen
BinaryObject blob = Applet.CreateFrom();
// Den BLOB zum Speichern bzw. Download anbieten
blob.SaveFileAs("MeinExport.xlsx");

Die Funktion Applet.CreateFrom() exportiert ab den aktuell aktivierten Zeilen der DVs, sodass man u. U. vorher noch die jeweils ersten Zeilen aktivieren muss.