Tutorials

Tutorial

Textformatierungen

English version

Beschreibung der selbstdefinierten Zellformate

Eine selbstdefinierte Formatierung besteht aus einem Datensatz des Typs t_rec_customStyles

TYPE t_rec_customStyles IS RECORD(
     id                 VARCHAR2(50)
    ,type               VARCHAR2(50)
    ,format             VARCHAR2(200)
    ,font               t_rec_font
    ,background         t_rec_background
    ,border             t_tab_border
    ,alignment          t_rec_alignment
    ,protection         BOOLEAN
    );
id
Zuerst legt man einen Namen fest, den man später beim Schreiben der Daten verwenden will. Hierbei werden die Werte s22 bis s43 bereits vom Programm belegt. Die Namen können die Zeichen a-z und Zahlen oder Unterstrich beinhalten.
type
Der Typ sagt aus, ob es sich um Text (Text), ein Datum (Date) oder eine Zahl (Number) handelt. Eine Ausnahme bilden Prozentangaben (Percent), da diese in der Datei dann von einer bestehenden Formatierung abgeleitet werden.
format
Außer bei Text muss man ein Format angeben. Dieses entscheidet z.B., wieviele Nachkommastellen angezeigt werden oder ein Zeitanteil beim Datum. Hierfür stehen vorbereitete Formate zur Verfügung, im Package Header unter der Bezeichnung c_nfXXX für Zahlen und c_dfXXX für Datumsangaben. Es können aber auch eigene Formate verwendet werden. Um eine Formatangabe zu ermitteln ist es am einfachsten in Excel eine Zelle entsprechend zu formatieren und das Arbeitsblatt als XML-Datei zu speichern.

font
Die Schriftart besteht wiederum aus einem Datensatz:
TYPE t_rec_font IS RECORD(
     fName              VARCHAR2(50)
    ,fFamily            VARCHAR2(50)
    ,fSize              PLS_INTEGER
    ,fColor             VARCHAR2(50)
    ,fBold              BOOLEAN
    ,fItalic            BOOLEAN
    ,fStrikeThrough     BOOLEAN
    ,fUnderline         VARCHAR2(50)
    ,fPosition          VARCHAR2(50)
    );
fName
die Schriftart, z.B. 'Times New Roman','Courier New','Wingdings',... Default ist 'Arial'
fFamily
wird verwendet, wenn die angegebene Schriftart auf dem Rechner nicht verfügbar ist: 'Automatic', 'Decorative', 'Modern', 'Roman', 'Script', 'Swiss'
fSize
die Schriftgröße in pt
fColor
ist die Schriftfarbe. Auch hier gibt es vordefinierte Werte im Header, z.B. c_red oder c_blue, erlaubt ist aber auch jeder RGB-Farbwert im Format '#FF99CC'. Default ist schwarz
fBold
gibt an ob der Text fett ausgeben werden soll
fItalic
gibt an ob der Text kursiv ausgeben werden soll
fStrikeThrough
gibt an ob der Text durchgestrichen ausgeben werden soll
fUnderline
Untersteichen. Erlaubt sind 's' = einfach (single), 'd' = doppelt (double), 'as' = buchhalterisch einfach (accounting single), 'ad' = buchhalterisch dopplet (accounting double). bei as und ad ist die Unterstreichung etwas tiefer, so dass Unterlängen des Textes nicht berührt werden
fPosition
Textposition. Erlaubt sind 'Subscript' = tiefgestellt und 'Superscript' = hochgestellt

Wird einer dieser Werte nicht angegeben erbt die Zelle den Wert des Elternelements, i.A. der Spalte.

background
Auch der Hintergrund besteht aus einem Datensatz:
TYPE t_rec_background IS RECORD(
     bColor             VARCHAR2(50)
    ,bPattern           VARCHAR2(50)
    ,bPatternColor      VARCHAR2(50)
    );
bColor
die Hintergrundfarbe. Siehe font fColor
bPattern
Hintergrundmuster. Für die erlaubten Werte siehe die Konstanten c_bgpXXX im Package Header. Default Solid
bPatternColor
Die zweite Farbe des Musters. Für die Werte siehe bColor

Wird einer dieser Werte nicht angegeben erbt die Zelle den Wert des Elternelements, i.A. der Spalte.

border
Die Rahmenangaben bestehen aus einer PL/SQL Tabelle, deren einzele Elemente aus einem Datensatz bestehen:
TYPE t_rec_border IS RECORD(
     bPosition          VARCHAR2(60)
    ,bLineStyle         VARCHAR2(50)
    ,bWeight            PLS_INTEGER
    ,bColor             VARCHAR2(50)
    );
bPosition
Position des Rahmenteils, für den diese Anweisung gilt: 'Top' = oben, 'Bottom' = unten, 'Left' = links, 'Right' = rechts, 'DiagonalRight' = diagonal von links oben nach rechts unten, 'DiagonalLeft' = diagonal von links unten nach rechts oben. Sollen die Werte für mehrere Rahmenteile gelten kann eine Liste mit Komma als Trennzeichen angegeben werden, z.B. 'Top,Bottom'
bLineStyle
Linienart: 'Dot' = gepunkten, 'DashDot' = Strich-Punkt, 'DashDotDot' = Strich-Punkt-Punkt, 'Dash' = gestrichelt, 'SlantDashDot' = schräg gestrichpunktet (zusammen mit weight 2), 'Double' = doppelt (zusammen mit weight 3). Default 'Continuous' = durchgehende Linie
bWeight
Liniendicke: 1,2 oder 3. 0 = Haarline, 1 = dünn, 2 = mittel, 3 = dick. Default 0.
bColor
die Rahmenfarbe. Für die Werte siehe bColor bei background

Wird einer dieser Werte nicht angegeben erbt die Zelle den Wert des Elternelements, i.A. der Spalte.

alignment
Auch die Ausrichtung bestehen aus einem Datensatz:
TYPE t_rec_alignment IS RECORD(
     vertical           VARCHAR2(50)
    ,horizontal         VARCHAR2(50)
    ,textRotate         PLS_INTEGER
    ,readingOrder       VARCHAR2(30)
    ,shrinkToFit        BOOLEAN
    ,verticalText       BOOLEAN
    ,wrapText           BOOLEAN
    );
vertical
senkrechte Ausrichtung: 'Top' = oben, 'Bottom' = unten, 'Center' = mittig. Default ist 'top'
horizontal
waagrechte Ausrichtung: 'Left' = links, 'Right' = rechts, 'Center' = mittig, 'Justify' = Blocksatz, 'Fill' = ausfüllen.
textRotate
Drehung des Textes aus der Waagrechten. Default 0.
readingOrder
Eingaberichtung des Textes: 'RightToLeft', 'LeftToRight' und 'Context'
shrinkToFit
Wird dieser Wert auf TRUE gesetzt wird der Inhalt soweit verkleinert, dass er in die Zelle passt.
verticalText
Wird dieser Wert auf TRUE gesetzt werden die Buchstaben des Inhalts einzeln übereinander gesetzt.
wrapText
Wird dieser Wert auf TRUE gesetzt wird der Inhalt am Zellenrand umgebrochen

Wird einer dieser Werte nicht angegeben erbt die Zelle den Wert des Elternelements, i.A. der Spalte.

protection
Schützt den Zelleninhalt vor versehentlichem überschreiben durch den Anwender. Dieser kann den Schutz jedoch aufheben. Ein Passwortschutz ist damit nicht möglich