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