Aus Platzgründen ist nur ein Teil des Quellcodes angegeben, der vollständige Code ist der zugehörigen Zip-Datei beigelegt.
Links können auf Zellen innerhalb der aktuellen Datei, auf eine andere Datei oder einen Ordner verweisen.
Bei Verweisen außerhalb der aktuellen Datei müssen die Angaben für Excel und OpenOffice verschieden sein (siehe Differenzen).
DECLARE -- test_40.sql v_fileHandle utl_file.FILE_TYPE; tab_columns xml_spreadsheet.t_tab_columns; tab_caption xml_spreadsheet.t_tab_caption; r_font xml_spreadsheet.t_rec_font; r_customStyles xml_spreadsheet.t_rec_customStyles; tab_customStyles xml_spreadsheet.t_tab_customStyles; BEGIN r_customStyles.id := 'Hyperlink'; r_customStyles.type := 'Text'; r_font.fColor := xml_spreadsheet.c_blue; r_font.fUnderline := 's'; r_customStyles.font := r_font; tab_customStyles(1) := r_customStyles; -- New File v_fileHandle := xml_spreadsheet.createNewFile('DOC','test_40.xml'); ... -- Write a data row xml_spreadsheet.writeData( v_fileHandle ,'Link same page F2' ,'Hyperlink' ,NULL ,NULL ,NULL ,'#page_1!F2' ); xml_spreadsheet.writeData( v_fileHandle ,'#page_1!F2' ); ... -- close worksheet xml_spreadsheet.closeWorksheet( v_fileHandle ,0 ); -- Close file xml_spreadsheet.closeFile(v_fileHandle); END; /
Excel | OO-Calc |
---|---|
Bilder zum Vergrößern anklicken |
Link Typ | Excel | OO-Calc |
---|---|---|
selbes Arbeitsblatt | #<Arbeitsblatt>!<Zell Referenz in A1 Notation> z.B. #page_1!F2 |
#<Arbeitsblatt>!<Zell Referenz in A1 Notation> z.B. #page_1!F2 |
anderes Arbeitsblatt | #<Arbeitsblatt>!<Zell Referenz in A1 Notation> z.B. #page_2!B3 |
#<Arbeitsblatt>!<Zell Referenz in A1 Notation> z.B. #page_2!B3 |
andere Datei oder Ordner, absoluter Pfad | Windows Stil mit Backslash z.B. C:\temp\test_30.xml |
Unix Stil mit Schrägstrich z.B. /C:/temp/test_30.xml |
andere Datei oder Ordner, relativer Pfad | Windows Stil mit Backslash z.B. \test_30.xml ausgehend vom ROOT des aktuellen Laufwerks |
Unix Stil mit Schrägstrich z.B. ../test_30.xml ausgehend vom Ort der aktuellen Datei |
Aus Platzgründen ist nur ein Teil des Quellcodes angegeben, der vollständige Code ist der zugehörigen Zip-Datei beigelegt.
Grundsätzlich können alle Formeln verwendet werden, die in Excel zur Verfügung stehen. Allerdings sind die englischen Formelbezeichnungen zu verwenden.
Der einfachste Weg die entsprechende Formelsyntax zu finden ist die, eine leere Datei mit nur dieser Formel zu erstellen, als XML-Format zu speichern und sich die generierte Datei in einem Texteditor anzusehen.
Wichtig: Zellbezüge werden im Gegensatz zu den Hyperlinks immer relativ zur aktuellen Zelle angegeben. Zum Ermitteln der korrekten Syntax kann die Funktion xml_spreadsheet.getRelativeCellReference verwendet werden.
Formel | Syntax |
---|---|
Summe | SUM() |
Anzahl | COUNT() |
Maximum | MAX() |
Vorzeichen | SIGN() |
Heute = aktuelles Datum | TODAY() |
Jetzt = aktuelles Datum + Zeitanteil | NOW() |
SVERWEIS | VLOOKUP() |
Typ | Syntax |
---|---|
einzelne Zelle | R[x]C[y] |
Bereich | R[x1]C[y1]:R[x2]C[y2] |
Mehrere Zellen | R[x1]C[y1],R[x2]C[y2],R[x3]C[y3],... |
DECLARE -- test_41.sql v_fileHandle utl_file.FILE_TYPE; tab_columns xml_spreadsheet.t_tab_columns; BEGIN tab_columns(1).cWidth := 60; tab_columns(2).cWidth := 250; tab_columns(3).cWidth := 80; -- New File v_fileHandle := xml_spreadsheet.createNewFile('DOC','testFormula.xml'); ... -- Write a data row xml_spreadsheet.writeData( v_fileHandle ,1 ,xml_spreadsheet.c_integer ); xml_spreadsheet.writeData( v_fileHandle ,'Summe A1 - A20' ); xml_spreadsheet.writeData( v_fileHandle ,TO_NUMBER(NULL) ,xml_spreadsheet.c_integer ,NULL ,'=SUM(RC[-2]:R[19]C[-2])' ); xml_spreadsheet.newDatarow(v_fileHandle); xml_spreadsheet.writeData( v_fileHandle ,TO_NUMBER(NULL) ,xml_spreadsheet.c_integer ,TO_NUMBER(NULL) ,'=R[-1]C+1' ); xml_spreadsheet.writeData( v_fileHandle ,'Summe A1 - A20 auf Blatt 2' ); xml_spreadsheet.writeData( v_fileHandle ,TO_NUMBER(NULL) ,xml_spreadsheet.c_integer ,NULL ,'=SUM(page_2!R[-1]C[-2]:R[18]C[-2]))' ); xml_spreadsheet.newDatarow(v_fileHandle); ... -- close worksheet xml_spreadsheet.closeWorksheet( v_fileHandle ,0 ); -- Close file xml_spreadsheet.closeFile(v_fileHandle); END; /
Excel | OO-Calc |
---|---|
Bilder zum Vergrößern anklicken |