Modul XLS
Inhaltsverzeichnis
XLS
Im Modul XLS werden die Routinen zusammengefasst, die zur Erstellung von Dateien im Excel- oder OpenOffice Calc-Format verwendet werden. Es können auch Dateien geöffnet und ausgelesen werden.
#xls_start
Startet den Export einer Excel-Datei.
- cnd - ("condition") Die Prozedur wird nur dann ausgeführt, wenn das Statement in cnd Y ergibt. Default ist Y, Funktionen werden ersetzt
Beispiel
#frm c="c_sd_xls" y=console #xls_start #xls_sheet c="BAF Demo" #xls_row #xls_cell z=Text #xls_cell z=Text w=200 fc=red #xls_row #xls_cell z=Datum #xls_cell y=datemin z=$NOW() #xls_row #xls_cell z=Zahl #xls_cell y=curr z=3,14 #xls_stop #cout c="c_sd_xls executed"
#xls_load
Lädt eine Datei
Parameter
- cnd - ("condition") Die Prozedur wird nur dann ausgeführt, wenn das Statement in cnd Y ergibt. Default ist Y, Funktionen werden ersetzt
- fn ("FileName") - Dateiname; wenn leer, wird ein Datei-Dialog geöffnet; Default leer, Funktionen werden ersetzt
Beispiel
#xls_load fn=c:\temp\$VAR(filename)
#xls_stop
Beendet den Export und speichert die Datei
Parameter
- cnd - ("condition") Die Prozedur wird nur dann ausgeführt, wenn das Statement in cnd Y ergibt. Default ist Y, Funktionen werden ersetzt
- fn ("FileName") - Dateiname, unter dem die Datei gespeichert wird; Funktionen werden ersetzt. Aus der Endung ergibt sich dann der Typ der Datei. Wenn der Parameter leer bleibt, öffnet sich ein Dateiauswahldialog zum Speichern.
- o ("open") - Wenn Y, word wird nach der Erstellung gleich geöffnet; default Y, Funktionen werden ersetzt.
Beispiel
(siehe #xls_start)
#xls_sheet
Fügt der Datei ein (weiteres) Sheet hinzu oder selektiert ein Sheet. Alle weiteren #xls_row-Prozeduren fügen dann diesem Sheet Reihen hinzu.
Parameter
- cnd - ("condition") Die Prozedur wird nur dann ausgeführt, wenn das Statement in cnd Y ergibt. Default ist Y, Funktionen werden ersetzt
- c ("caption") - Beschriftung des Tabs
- fc ("fixed cols") - Anzahl der Spalten, die links fixiert werden; default 0; Funktionen werden ersetzt
- fr ("fixed rows") - Anzahl der Zeilen, die oben fixiert werden; default 0; Funktionen werden ersetzt
- n ("number") - 0-relativer Index des Sheets, das selektiert werden soll
Beispiele
#xls_sheet c="Daten" fr=1 #xls_sheet n=0
#xls_row
Fügt dem aktuellen Sheet eine weitere Reihe hinzu oder selektiert eine solche.
Parameter
- cnd - ("condition") Die Prozedur wird nur dann ausgeführt, wenn das Statement in cnd Y ergibt. Default ist Y, Funktionen werden ersetzt
- h (height) - Höhe der Zelle; default 20, Funktionen werden ersetzt
- n ("number") - 0-relativer Index der Reihe, die selektiert werden soll
Beispiel
(siehe #xls_start)
#xls_cell
Parameter
- a ("align") - Ausrichtung des Textes / des Wertes in der Zelle
- c ("center") - mittig
- d2 / d4 (decimal) - ausgerichtet am Komma für zwei oder vier Nachkommastellen
- l ("left") - linksbündig
- r ("right") - rechtsbündig
- bt, bl, br, bb ("border top", "border left", "border right", "border bottom") - Ränder der Zelle, default thin, Funktionen werden ersetzt (auto, none, thin, medium, dashed, dotted, thick, double, hair, mediumdashed, dashdotted, mediumdashdotted, dashdotdotted, mediumdashdotdotted, slanteddashdotted)
- cl ("color") - Farbe der Zelle; default weiß
- cnd - ("condition") Die Prozedur wird nur dann ausgeführt, wenn das Statement in cnd Y ergibt. Default ist Y, Funktionen werden ersetzt
- cs ("ColSpan") - Anzahl der Spalten, die zusammengefasst werden; default 1, Funktionen werden ersetzt
- fc ("FontColor") - Farbe der Schrift; default schwarz
- va ("vertivcal align") - vertikale Ausrichtung des Textes; default t, Funktionen werden ersetzt
- b ("bottom") - unten
- c ("center") - mittig
- t ("top") - oben
- fs ("FontStyle") - Style der Schrift, die einzelnen Optionen können kombiniert werden; default keine Option
- b - bold
- i - italic
- u - underline
- s - strikeout
- w ("width") - Breite der Zelle
- y - Typ der Zelle, default Text
- curr - Zahlen mit zwei Nachkommastellen
- curr4 - Zahlen mit vier Nachkommastellen
- date - Datum
- datemin - Datum und Uhrzeit ohne Sekunden
- datesek - Datum und Uhrzeit mit Sekunden
- int - Zahlen ohne Nachkommastellen
- text - Text
- z - Wert/Text, der in der Zelle eingefügt werden soll; Funktionen werden ersetzt
Beispiel
#xls_cell z=Text w=200 fc=red #xls_cell y=datemin z=$NOW()
#xls_looprows
Parameter
- cnd - ("condition") Die Prozedur wird nur dann ausgeführt, wenn das Statement in cnd Y ergibt. Default ist Y; Funktionen werden ersetzt
- db - ("database") Name der Datenbank, auf die sich die Transaktion bezieht; Funktionen werden ersetzt
- er - ("each row") Das Kommando, das für jede Zeile der Datenmenge aufgerufen wird. Funktionen werden ersetzt.
- ern - ("each row no") Das Kommando, das für jede Zeile der Datenmenge aufgerufen wird. Funktionen werden nicht ersetzt. Wenn ern einen Wert hat, bleibt er unberücksichtigt. Üblicherweise wird er verwendet.
- ert - ("each row transaction") Wenn Y, wird für jede Zeile der Datenmenge eine eigene Transaktion gestartet und nach der Abarbeitung des Kommandos wieder geschlossen; Funktionen werden ersetzt
- m - ("maximum") Es wird maximal für die Anzahl der angegebenen Zeilen das in er angegebene Kommando ausgeführt. Dieser Parameter wird häufig dazu verwendet, während der Entwicklung mit einer geringen Zahl von Datensätzen zu arbeiten; Funktionen werden ersetzt
- nex ("no exception") - Wenn Y, wird bei Exceptions in er nicht abgebrochen, sondern mit dem nächsten Datensatz fortgesetzt. Default N; Funktionen werden ersetzt.
- n - Name der Variablen, in welche die aktuelle, 0-relative Schleifennummer geschrieben wird
Beispiel
#xls_looprows er=sof_7836_line m_=5
#xls_page
Exportiert alle VL-, Grid- und XGrid-Segmente der aktuellen Seite. Für jedes Segment wird eine neues Sheet angelegt.
Parameter
(keine)
Beispiel
#btn y=xls s=#xls_page se=b
$XLS_COUNT()
Ermittelt die Anzahl der Sheets, Zeilen oder Zellen
Parameter
- Von was wird die Anzahl ermittelt
- sheets - Sheets in einer Datei
- rows - Zeilen in einem Sheet
- cells - Zellen in einer Zeile
Beispiel
#cout c="Dieses Sheet hat $XLS_COUNT(rows) Zeilen"
$XLS_CELL()
Gibt den Wert einer Zelle aus
Parameter
- Index der Zelle
Beispiel
#val_set n=1 z=$XLS_CELL(0) ~ $INTLEN($VAL(1)) = 9 #var_add n=zeile z=1 y=int #cout c="$VAL(1) - $VAR(datei) / $VAR(zeile)" m=20 md=10 #sql_upsert y=a t=neuland.sof_7836 k=adrnr f_adrnr=$VAL(1) hst=N ~~