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.