15 Dieses Dokument beschreibt den Mechanismus, mit dem Exceltemplates abgearbeitet
16 werden, und die Einschränkungen die damit einhergehen.
23 Der Excel Mechanismus muss in der Konfigurationsdatei aktiviert werden. Die
24 Konfigurationsoption heißt:
28 Eine Excelvorlage kann dann unter dem Namen einer beliebigen anderen Vorlage mit
29 der Endung .xls gespeichert werden. In den normalen Verkaufsmasken taucht nun
30 "Excel" als auswählbares Format auf, und kann von da an bnutzt weren wie Latex
31 oder OpenOffice Vorlagen.
33 Der Sonderfall der Angebote aus der Kundenmaske ist ebenfalls eine
34 Angebotsvorlage, und wird unter dem internen Namen der Angebote
35 "sales_quotation.xls" gespeichert.
42 Einfache Syntax: <<varname>>
44 Wobei "<<" und ">>" die Delimiter sind. Da Excel auf festen Breiten besteht,
45 kann der Tag künstlich verlängert werden, indem weitere "<" oder ">" gegefügt
46 werden. Der Tag muss nicht symmetrisch sein.
48 Beispiel: <<<<<varname>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
50 Um die Limitierung der festen Breite zu reduzieren, können weitere Variablen in
51 einem Block interpoliert werden. Whitespace wird dazwishen dann erhalten.
53 Beispiel: <<<<<varname1 varname2 varname3>>>>>>>>>>>>>>>>>>>>>>>>>>
55 Die Variablen werden interpoliert, und linksbündig mit Leerzeichen auf die
56 gewünschte Länge aufgefüllt. Ist der String zu lang, werden überzählige Zeichen
59 Es ist ausserdem möglich Daten rechtsbündig darzustellen, wenn der Block mit
60 einem Leerzeichen anfängt.
62 Beispiel: <<<<<< varname>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
64 würde rechtsbündig triggern. Wenn bei rechtsbündiger Ausrichtung Text
65 abgeschnitten werden muss, wird er vom linken Ende entfernt.
72 Das Excelformat bis 2002 ist ein binäres Format, und kann nicht mit vertretbarem
73 Aufwand editiert werden. Der Templatemechanismus beschränkt sich daher darauf,
74 Textstellen _exakt_ durch einen anderen Text zu ersetzen.
76 Aus dem gleichen Grund sind die Templatekonstrukte <% if %> und <% foreach %>
77 nicht vorhanden. Der Delimiter <% %> kommt in den Headerinformationen evtl vor,
78 deshalb wurde auf den sichereren "<<"/">>" gewechselt.