Beschreibung
Dieser Actionhandler ist ab Version v7.14 verfügbar und erlaubt es dem Benutzer Exceldokumente und -templates mit den Werten der Prozessvariablen aus einem Formular zu erstellen und zu benutzen.
Variablen aus System Variables können ebenfalls in diesem Actionhandler verwendet werden.
Um dem Dokument basierend auf den Variablen einen Namen zu geben, kann man die gewünschte Variable als Dokumentenname zusätzlich zum Dokumenteninhalt pflegen.
Es ist möglich Bilder aus der Prozessinstanz in das Worddokument einzufügen. Hierfür werden spezielle Variablen im Template benötigt.Ein einzelnes Bild kann mit dem exakten Bildnamen eingefügt werden z.B. $img{bild.jpg}
. Es ist auch möglich alle Bilder einzufügen, die einer Instanz anhängen: $img{addAllimages}
.
Der ExcelTemplateHandler kann auch in den HTML Forms als Button installiert werden, um ein Template zu generieren, wenn dies notwendig ist. Mehr Informationen finden Sie hier.
Class
com.dooris.bpm.actionhandler.ExcelTemplateHandler
Parameter
Parameter | Default value | Description | Valid examples |
---|---|---|---|
| Dieser Parameter wird benutzt, um den Pfad zum Template festzulegen, damit der ActionHandler danach im resources Order suchen kann. Um die erstellte Datei umzubenennen kann das Template selbst eine Prozessvariable enthalten. Vorausgesetzt das Template, Parameter hat die folgenden Werte:
Im Zielordner wird die Datei entsprechend gesucht.
Um auf den Abschnitt ‘Resources’ in der 'Administration' zuzugreifen, schauen Sie bitte nach: |
| |
|
| Dieser Parameter wird verwendet, um zu entscheiden, ob die Dokumente überschrieben werden sollen, wenn der Prozess durch eine Schleife ausgeführt wird. Wenn das ursprüngliche Template benötigt wird, sollte der Parameter |
|
| Der documentPrefix kann so verwendet werden, dass erstellte Dokumente immer den angegebenen Wert vor dem Vorlagennamen haben. |
| |
|
| Wenn der Wert auf true gesetzt ist, werden alle Tabellenzeilen im xlsx-Template gelöscht, wenn die Variable in der ersten Spalte fehlt oder leer ist. Dadurch können unschöne leere Zeilen in dynamischen Inhalten vermieden werden (DOMRepeater). |
|
|
| Es kann entweder true oder false sein. Wenn dieser Wert auf true gesetzt ist, werden Prozessvariablen (die mit "bool" beginnen) wie folgt geändert:
|
|
|
| Dieser Parameter wird genutzt, um zu entscheiden, ob ein Boolean (true oder false) mit “Ja oder Nein“ ausgetauscht werden sollte. Wird diese Variable zu |
|
| This parameter is used to determine the document name in the destination folder. This procedure is useful if the name of the created Word document should be different from the template name. The target parameter can contain process variables. Suppose the user wanted to generate two reports in English and German. The Word template in the resource folder has the following name File extension is not needed within the target parameter. |
| |
|
| With this parameter all system supported languages can be given in short form(e.g. |
|
Setup
In order to setup the action hander the below steps are required:
Setup the process
Have or upload a simple workflow
Import form
Upload the template in tenant admin resources
After the setup you should be able to see:
Use case 1: Create a simple template
Select the process,
Upload the images in documents (upload at least an image called “im1.png” and another one )
Start a new instance with the below template
The generated file can be found in the documents section together with the images. The generated file should look like:
In the above example we have included:
Variable substitution,
Conditional formatting,
Adding single images by name, and all images
Using excel functions,
Document prefix,
Document target,
Interpreting number as boolean, boolean as human and translation
The variables must be the same as in the Excel template.
Calling the execution of ExcelTemplateHandler from a REST api call endpoint
The ExcelTemplateHandler can be called from rest api using the below endpoint
POST: [your server url here]/tim/api/templates { // Mandatory params "processInstanceId": [YOUR PI ID HERE], "template": [YOUR TEMPLATE PATH HERE], //Optional params "target": "", "documentPrefix": "", "locale": "", "overwriteExisting": false, "interpretNumbersAsBoolean": false, "interpretBooleanAsHuman": false, "removeEmptyTableRows": false, "open": false }
Integrating the ExcelTemplateHandler into a HTML-Form
The ExcelTemplateHandler can be integrated into a HTML-Form as a link, a button, or an image so that the participants can create a template at any time. For this, the following code must be integrated into the form:
<button type="button" onbuttonclick="generateFileFromTemplate([{handler:'ExcelTemplateHandler',template:'temp.xlsx',attach:false,open:true,documentPrefix:'Prefix'}])">Generate Excel template</button>
The "onbuttonclick" attribute defines which functions/parameters the handler should execute. See Parameters sections above.
Important when using HTML-Forms
Normally written text will be inherited, whereas variables will be overwritten if marked as ${Variable-ID}
. To overwrite variables with content from the HTML form, you must use the variable's ID, such as ${Variable-ID}
, within the text form fields. An exception to this rule applies to radio buttons, where you should use the variable name, like ${Variable-Name}
, instead of the variable ID.