Layout

<< Click to Display Table of Contents >>

Navigation:  Daten und Datensatz > Output aufbereiteter Daten > OfficeExport >

Layout

Wie im Beispiel gezeigt, können die Einstellungen zu Schrifttypen, -farben und Ausrichtungen für PostScript im Excel-Output für die komplette Tabelle (TABLE) oder einzelne Boxen übernommen (YES) oder aktiv nicht übertragen (NO) werden:

OFFICEEXPORTOPTIONS =

| USEPOSTSCRIPTFONT <boxtype> : [YES|NO]

| USEPOSTSCRIPTCOLORS <boxtype> : [YES|NO]

| USEPOSTSCRIPTALIGN <boxtype> : [YES|NO]

;

Wenn gewünscht, kann die optische Gestaltung des Excel-Outputs mit OfficeExport aber auch unabhängig vom Layout der PostScript-/ PDF-Ausgabe vorgenommen werden. Diese Steuerungsmöglichkeiten sind komplex und stehen den Gestaltungsmöglichkeiten der PostScript- bzw. PDF-Ausgabe kaum nach. Grundsätzlich können beliebig viele OFFICEEXPORTOPTIONS in einem Skript verwendet werden. Das Schlüsselwort EDIT entscheidet darüber, ob mit einer leeren Formatvorlage begonnen oder die bestehende editiert wird.

Nach Erläuterung der Syntax folgt ein Beispiel.


Syntax

Es stehen folgende Optionen zur Verfügung:

OFFICEEXPORTOPTIONS [EDIT] =
|<TRANSLATE>
|<BOXFONT>
|<ELEMENTFONT>
|<ELEMENTCOLOR>
|<BACKGROUND>
|<FOREGROUND>
|<FIRSTCOLUMN>
|<VERTICALALIGN>
|<HORIZONTALALIGN>
|<DRAWBOX>
|<CONNECTEXCELCELLS>
|<XLABELSIGNCHARBOX>
|<WRAPTEXT>
|<FLOWTEXT>
|<SUPPRESSGRIDLINES>
|<FIXLABELCOLUMN>
|<FIXEDLABELROWS>
|<TEXTROWHEIGTH>
|<LABELWIDTH>
|<COLUMNWIDTH>
|<OFFICEFORMAT>
|<THOUSANDS>
;

Translate

Syntax:

TRANSLATE <postcriptfontname> : <excelfontname> 
[OPTION [BOLD|ITALIC|UNDERLINE]]

Im Normalfall übernimmt MS Office die Ersetzung von PostScript-Fonts in Excel-Schriftarten selbstständig. Das optische Resultat hängt vom Windows-System ab, kann also zwischen mehreren Betrachtern variieren. Mit TRANSLATE kann diese Ersetzung genau gesteuert und festgelegt werden, welche System-Fonts die PostScript-Schriftarten ersetzen sollen. Für die Übersetzung mehrerer Schriftarten können beliebig viele TRANSLATE-Anforderungen als Liste definiert werden. Beachte: Wird die Übersetzung einer spezifischen PostScript-Schriftart in OfficeExportOptions EDIT definiert, gilt diese auch für alle darüber angeforderten Tabellen. Sollen unterschiedliche FONT-Ersetzungen für eine Schriftart in einem Lauf verwendet werden, müssen die OFFICEEXPORTOPTIONS jeweils insgesamt neu gesetzt werden.

Boxfont

Syntax:

BOXFONT <boxtype> : <fontname> SIZE <number> 
[OPTION [BOLD|ITALIC|UNDERLINE]]

BOXFONT steuert Schrifttyp und -format eines definierten Boxtyps.

Als FONTNAME stehen die Schriftarten aus Windows zur Verfügung, z.B. Arial, Times-Roman usw.. Fontnamen, die Leerzeichen oder Sonderzeichen enthalten, sind in Anführungszeichen zu setzen, z.B.: „Times Roman“. Mit Size werden die üblichen Schriftgrößen definiert. Als weitere OPTIONs stehen Fett- (BOLD), Kursiv- (ITALIC) und unterstrichene (UNDERLINE) Schrift zur Verfügung.

Background und Foreground

Syntax:

BACKGROUND <boxtype> : <color>
FOREGROUND <boxtype> : <color>

Mit BACKGROUND und FOREGROUND können Hintergrund- und Schriftfarbe einer beschriebenen Box geändert werden.

Farben werden immer als Hexadezimal-Definition (in GESStabs mit ’$’ eingeleitet) angegeben, also $RRGGBB. Reines Rot ist z.B. $FF0000, Grau ist $A0A0A0.

FirstColumn

Syntax:

FIRSTCOLUMN : <number>

FIRSTCOLUMN positioniert die erste Spalte der Tabelle: Wird eine Zahl n größer 1 angegeben, werden solange leere Zellen (n-1) vor jeder Tabellenzeile eingefügt, dass die erste Spalte entsprechend positioniert ist.

Elementfont und Elementcolor

Syntax:

ELEMENTFONT <cellelement> : <fontname> SIZE <number> 
[STYLE [BOLD|ITALIC|UNDERLINE]]

ELEMENTCOLOR <cellelement> : <color>

ELEMENTFONT bzw. ELEMENTCOLOR weist einzelnen Zellelementen, die Inhalt von DATACELLS 
oder FRAMECELLS sind, eine gewünschte Schriftart und -formatierung bzw. -farbe zu.

Als Schriftarten stehen die in MS Office bekannten System-Fonts zur Verfügung. Die Steuerungsmöglichkeiten entsprechen denen von BOXFONT, BACKGROUND sowie FOREGROUND. Voraussetzung für den Einsatz von ELEMENTFONT ist, dass USEPRINTERCOLORS bzw. USEPOSTSCRIPTFONT für DATACELLS deaktiviert wird:

| USEPRINTCOLORS DATACELL: NO

| USEPOSTSCRIPTFONT DATACELL: NO

VerticalAlign und HorizontalAlign

Syntax:

VERTICALALIGN <boxtype> : [TOP|VCENTER|BOTTOM]
HORIZONTALALIGN <boxtype> : [LEFT|HCENTER|RIGHT]

VERTICALALIGN und HORIZONTALALIGN richten Texte innerhalb der Boxen vertikal bzw. horizontal aus.

Der Text kann oben (TOP), unten (BOTTOM) bzw. links (LEFT), rechts (TIGHT) oder zentriert (VCENTER/ HCENTER) positioniert werden.

Drawbox

Syntax:

DRAWBOX [<boxtype>] : [WEIGHT [THIN|MEDIUM|BOLD]] 
[COLOR <color>][BORDERS [TOP|LEFT|BOTTOM|RIGHT]]

Mit DRAWBOX kann der Rahmen verschiedener Tabellenboxen formatiert werden.

Für die gewünschte Box kann ein Rahmen angefordert sowie dessen Strichdicke und Farbe beeinflusst werden. Im Standardfall werden alle Kanten der Zelle gezeichnet. Möglich ist auch, beispielsweise mit BORDERS TOP die Beschränkung auf eine (hier: die obere) Kante anzufordern (ähnlich zu DRAWBOX für PostScript /PDF-Ausgaben).

Beachte: DRAWBOX funktioniert nur für befüllte Tabellenboxen. Systembedingt haben einige Boxtypes grundsätzlich keine eigenen Inhalte, dazu zählen: DATABOX, FRAMEBOX X /Y, FRAMETITLE X/Y, LABELSET X/Y und LABELS X/Y – hier kann kein Rahmen gesetzt werden. Andere Boxtypes können optional leer bleiben (z.B. INSTITUTION, DOCUMENT, DESCRIPTION) – wird hier ein Rahmen gewünscht, muss die entsprechende Box mindestens ein festes Leerzeichen (Character #160, Notepad ++) enthalten.

ConnectExcelCells

Syntax:

CONNECTEXCELCELLS <boxtype> : [YES|NO]

CONNECTEXCELCELLS fasst mehrzeilige Texte einer GESStabs-Zelle in Excel ebenfalls in einer Datenzelle zusammen.

Im Standardfall wird für jede Zeile einer GESStabs-Tabellenzelle eine Excel-Zelle angelegt. Wenn CONNECTEXCELCELLS für einen Boxtypen auf YES gesetzt ist, werden die einzelnen Zeilen der GESStabs-Zelle nicht in einzelne Zellen untereinander abgelegt, sondern der gesamte Inhalt in einer Zelle. Diese belegt dann mittels ROWSPAN den Platz mehrerer Zellen. Wird WRAPTEXT für den Boxtyp nicht auf YES gesetzt, werden die einzelnen Zeilen mit Zeilenvorschüben übertragen.

XLabelSignCharBox

Syntax:

XLABELSIGNCHARBOX LABELS X : [YES|NO]

Default: NO

Mit XLABELSIGNCHARBOX wird für die automatisch vergebenen Signifikanzbuchstaben eine zusätzliche Zelle erzeugt, in die diese ausgegeben werden. Die PostScript/PDF-Zeilenumbrüche werden ignoriert und es wird ein Umbruch in Excel erzeugt; d.h. XLABELSIGNCHARBOX verhält sich in dieser hinsicht wie FLOWTEXT.

Bei anderen Boxtypes als LABELS X wird die Option ignoriert.

Wraptext

Syntax:  

WRAPTEXT <boxtype> : [YES|NO]

WRAPTEXT erlaubt es Excel, zu lange Zeilen umzubrechen, behält aber die in GESStabs gesetzten Umbrüche bei.

Wird der Inhalt einer mehrzeiligen GESStabs-Zelle mittels CONNECTEXCELCELLS in einer Excelzelle zusammengefasst, kann man die Optik in manchen Fällen dadurch verbessern, dass man Excel bzw. Libreoffice selbst einen Zeilenumbruch vornehmen lässt.

Flowtext

Syntax:

FLOWTEXT <boxname> : [ YES | NO ]

Der gesamte Text wird als Fließtext an OFFICEEXPORT übergeben, die Zeilenanordnung von Texten (VARTEXT, TOPTEXT etc.) wird vor der Übergabe entfernt.

SuppressGridLines

Syntax:

SUPPRESSGRIDLINES : [YES|NO]

SUPPRESSGRIDLINES : YES  unterdrückt die Excel-typischen Gridlines in der Bildschirmdarstellung.

FixLabelColumn

Syntax:

FIXLABELCOLUMN : [YES|NO]

Wird die Option FIXLABELCOLUMN auf YES gesetzt, wird die erste Spalte, die die Labels der Y-Achse enthält, in allen Sheets "fixiert", sodass man beim Lesen auch die Ergebnisse in Spalten weiter rechts den Labels bequem zuordnen kann.

FixedLabelRows

Syntax:

FIXLABELROWS : <number>

FIXLABELROWS wird den <number> Zeilen-Teil der Tabelle "fix" halten, sodass diese sichtbar bleiben, wenn man das Fenster vertikal scrollt. Pro Sheet kann nur ein FIXLABELROWS-Paremeter ausgewertet werden.  

TextRowHeight

Syntax:

TEXTROWHEIGHT <box> : <pixels>

<box>     ::= eine Box

<pixels>  ::= gewünschte Zeilenhöhe in Pixel

Beim Anlegen einer neuen Zeile, die zu einer Box gehört, wird die Höhe der Zeile auf diesen Wert gesetzt.

Columnwidth und Labelwidth

Syntax:

LABELWIDTH : <number>
COLUMNWIDTH : <number>

Mit LABELWIDTH und COLUMNWIDTH kann die Zellenbreite beeinflusst werden.

Im Standardfall haben alle Excelspalten in Excel dieselbe Breite. COLUMNWIDTH steuert die Breite aller gefüllten Datenspalten. Bei Tabellen ist es zudem oft sinnvoll, dass man nur der ersten Spalte, dem “Banner“, mehr Raum gibt. Mit LABELWIDTH wird dies angesteuert. Die Breitenangabe erfolgt in beiden Fällen in Excel-Points.

OfficeFormat

Syntax:

OFFICEFORMAT <cellelement> : <formatstring>

Der OFFICEFORMAT-String wird ohne weitere Prüfung an Excel bzw. Libre Office übergeben. Als Beispiel, man kann z.b. mit OFFICEFORMAT SUM : "#.##E+0" Summen in Exponentialdarstellung anfordern. OFFICEFORMAT ist eher etwas BenutzerInnen für mit Kenntnissen in den Excel-Formatanweisungen.

Thousands

Syntax:

THOUSANDS <cellelement> : [ YES | NO ]

Tausender-Trenner

Mit THOUSANDS SUM : YES kann das Tausender-Trennzeichen beispielsweise für Summen eingeschaltet werden.

Die Möglichkeit, als globales Format z.B. FORMAT SUM = "^.2###,###"; zu vereinbaren, bleibt bestehen.


Vollständiges Beispiel

In dem folgenden Beispiel wurde das Layout des Excel-Outputs unabhängig von der Gestaltung der PostScript-/ PDF-Variante mithilfe eines eigenständigen OFFICEEXPORTOPTIONS-Statements gesteuert.

PostScript-Output

PostScript-Output

Mit OfficeExportOptions gestaltete Excel-Ausgabe

Mit OfficeExportOptions gestaltete Excel-Ausgabe

OFFICEEXPORTOPTIONS =

 

//von Postscript:

| USEPOSTSCRIPTCOLORS DATACELL : YES

| TRANSLATE "Helvetica" : "Arial"

| TRANSLATE "Helvetica-Bold" : "Arial" OPTION BOLD

| TRANSLATE "Helvetica-BoldOblique" : "Arial" OPTION ITALIC BOLD

 

//DATACELL:

| HORIZONTALALIGN DATACELL : HCENTER

 

//GENERAL

| COLUMNWIDTH : 180

| LABELWIDTH : 220

 

//TABLETITLE

| BOXFONT TABLETITLE : "DEJAVU-SANS" SIZE 16 OPTION BOLD

| DRAWBOX TABLETITLE : WEIGHT MEDIUM BORDERS BOTTOM COLOR $909090

| VERTICALALIGN TABLETITLE : VCENTER

| HORIZONTALALIGN TABLETITLE : HCENTER

| BACKGROUND TABLETITLE : $DDDDDD

 

//FRAMES

| HORIZONTALALIGN FRAMECROSS : HCENTER

| HORIZONTALALIGN FRAMECELL Y : HCENTER

| HORIZONTALALIGN FRAMECELL X : HCENTER

 

//ABSOLUTE

| ELEMENTFONT COLCHIQU :"TIMES-ROMAN" SIZE 12 OPTION BOLD

| ELEMENTCOLOR COLCHIQU : $0000ff

 

//COLCHIQU

| ELEMENTFONT ABSOLUTE : "ARIAL NARROW" SIZE 9 OPTION ITALIC

| ELEMENTCOLOR ABSOLUTE : $777777

 

//COLUMNPERCENT

| ELEMENTFONT COLUMNPERCENT : "CONSTANTIA" SIZE 12 OPTION ITALIC

 

//VARTITLE X

| CONNECTEXCELCELLS VARTITLE X : YES

| VERTICALALIGN VARTITLE X : VCENTER

| BOXFONT VARTITLE X : CALIBRI SIZE 14 OPTION ITALIC

| HORIZONTALALIGN VARTITLE X : HCENTER

| DRAWBOX VARTITLE X : WEIGHT THIN COLOR $cc0033

| FOREGROUND VARTITLE X : $cc0033

 

//LABELS X

| CONNECTEXCELCELLS LABELS X : YES

| VERTICALALIGN LABELS X : BOTTOM

| HORIZONTALALIGN LABELS X : HCENTER

| DRAWBOX LABELS X : WEIGHT THIN COLOR $666666

| FOREGROUND LABELS X : $666666

 

//LABELS Y

| BOXFONT LABELS Y : "DEJAVU SANS" SIZE 10 OPTION ITALIC

| FOREGROUND LABELS Y : $FFFFFF

| BACKGROUND LABELS Y : $cc0033

| DRAWBOX LABELS Y : WEIGHT THIN COLOR $666666

| CONNECTEXCELCELLS LABELS Y : YES

| VERTICALALIGN LABELS Y : VCENTER

;