Skip to main content

FVA-Workbench KnowledgeBase

Excel Funktionen

Excel lesen & schreiben

excel_keyvisual.png

Mit der Scripting Funktion der FVA-Workbench ist es möglich Daten aus einer Exceldatei zu lesen oder Werte in die Datei zu schreiben. So können z.B. Eingabewerte für die Verzahnung direkt aus einer Excel-Datei gelesen werden um damit die entsprechenden Attribute im Getriebemodell der FVA-Workbench zu belegen. Am Anschluss können die Ergebnisse der Berechnung dann in die Excel-Datei geschrieben werden.

Die Formatierung der Exceldatei bzw. der Zellen kann direkt im Script über Funktionen wie z.B. setBackgroundColor("B4", Red) erfolgen. Alternativ kann auch eine bereits formatierte Exceldatei als Vorlage eingelesen werden. Die Formatierung dieser Vorlage wird übernommen und es werden nur die Werte in den angegebenen Zellen ersetzt bzw. eingefügt.

Die Funktionen zum Lesen, Schreiben und Bearbeiten von Excel-Dokumenten werden alle auf einem Workbook-Objekt ausgeführt. Das Workbook ist ein Datenobjekt, das den Verweis auf ein konkretes Excel-Dokument enthält.

Das Layout und der Inhalt des angegebenen Excel-Dokuments wird dabei übernommen.

let excelfile = "c:/example/excelfile.xlsx";
let workbook = workbookFactory.createWorkbook(excelfile);

Die Funktionen werden dann mit der Punktnotation auf dem jeweiligen Workbook-Objekt ausgeführt.

workbook.setValue("A1", 5.241);

Um das Excel-Dokument mit den gemachten Änderungen zu überschreiben, wird folgende Funktion verwendet:

workbook.writeToFile(excelfile);

Existiert die in writeToFile() angegebene Datei nicht, wird sie angelegt.

Hinweis

Ein Workbook-Objekt kann auch ohne Angabe eines konkreten Excel-Dokuments angelegt werden.

let workbook = workbookFactory.createNewWorkbook();

Diese Vorgehensweise wird empfohlen, wenn keine Excel-Vorlage verwendet wird und die Formatierung nur über Skriptfunktionen erfolgen soll.

Daten lesen

getValue()
Tabelle 81. Liest den Wert einer Zelle ein.

getValue(CELL);

Parameter

Typ

Beschreibung

CELL

string

Adresse der Excel Zelle (z.B. C12)



Beispiel Wert aus einer Excel Zelle lesen

1let excelfile = "c:/example/excelfile.xlsx";
2let workbook = workbookFactory.createWorkbook(excelfile);
3let value = workbook.getValue("B3");
4println(value);

1

Variable excelfile mit dem Pfad zur Exceldatei belegen.

2

Excel Datenobjekt erstellen und der Variablen workbook zuweisen.

3

Inhalt der Zelle B3 lesen und in die Variable value schreiben.

4

Wert in value auf dem Scripting-Monitor ausgeben.

getValuesRow()
Tabelle 82. Liest die Werte einer Excelzeile, beginnend an der angegebenen Zelladresse.

getValuesRow(CELL, length);

Parameter

Typ

Beschreibung

CELL

string

Adresse der Excel Zelle (z.B. C12)

length

int

Anzahl der Zellen in horizontaler Richtung die eingelesen werden.

Mögliche Fehler

Die Excel Datei existiert nicht.



Beispiel Zeile aus Excel-Datei lesen

1let excelfile = "c:/example/excelfile.xlsx";
2let workbook = workbookFactory.createWorkbook(excelfile);
3let array = workbook.getValuesRow("B3", 5);
4println(array);

1

Variable excelfile mit dem Pfad zur Exceldatei belegen.

2

Excel Datenobjekt erstellen und der Variablen workbook zuweisen.

3

Beginnend bei Zelle B3, 5 Zellen nach rechts einlesen und als Array in die Variable array schreiben.

4

Variable array auf dem Scripting-Monitor ausgeben.

getValuesColumn()
Tabelle 83. Liest die Werte einer Excelspalte, beginnend an der angegebenen Zelladresse.

getValuesColumn(CELL, length);

Parameter

Typ

Beschreibung

CELL

string

Adresse der Excel Zelle (z.B. C12)

length

int

Anzahl der Zellen in vertikaler Richtung die eingelesen werden.

Mögliche Fehler

Die Excel Datei existiert nicht.



Beispiel Array als Spalte aus einer Excel-Datei lesen

1let excelfile = "c:/example/excelfile.xlsx";
2let workbook = workbookFactory.createWorkbook(excelfile);
3let array = workbook.getValuesColumn("B3", 5);
4println(array);

1

Variable excelfile mit dem Pfad zur Exceldatei belegen.

2

Excel Datenobjekt erstellen und der Variablen workbook zuweisen.

3

Beginnend bei Zelle B3, 5 Zellen nach unten einlesen und als Array in die Variable array schreiben.

4

Variable array auf dem Scripting-Monitor ausgeben.

getValuesMatrix()
Tabelle 84. Liest die Werte einer Matrix aus , beginnend an der angegebenen Zelladresse.

getValuesMatrix(CELL, rowlength, collength);

Parameter

Typ

Beschreibung

CELL

string

Adresse der Excel Zelle (z.B. C12)

rowlength

int

Anzahl der Zeilen die eingelesen werden.

collength

int

Anzahl der Spalten die eingelesen werden.

Mögliche Fehler

Die Excel Datei existiert nicht.



Beispiel Matrix aus Excel-Datei lesen

1let excelfile = "c:/example/excelfile.xlsx";
2let workbook = workbookFactory.createWorkbook(excelfile);
3let matrix = workbook.getValuesMatrix("B3", 4, 5);
4println(matrix);

1

Variable excelfile mit dem Pfad zur Exceldatei belegen.

2

Excel Datenobjekt erstellen und der Variablen workbook zuweisen.

3

Beginnend bei Zelle B3, eine 4 Zeilen breite und 5 Spalten hohe Matrix einlesen und in die Variable matrix schreiben.

4

Variable matrix auf dem Scripting Monitor ausgeben.

getValuesMatrixT()
Tabelle 85. Liest die Werte einer Matrix aus und transponiert diese.

getValuesMatrixT(CELL, rowlength, collength);

Parameter

Typ

Beschreibung

CELL

string

Adresse der Excel Zelle (z.B. C12)

rowlength

int

Anzahl der Zeilen die eingelesen werden.

collength

int

Anzahl der Spalten die eingelesen werden.

Mögliche Fehler

Die Excel Datei existiert nicht.



Beispiel Matrix aus Excel-Datei lesen und transponieren

1let excelfile = "c:/example/excelfile.xlsx";
2let workbook = workbookFactory.createWorkbook(excelfile);
3let matrix = workbook.getValuesMatrixT("B3", 4, 5);
4println(matrix);

1

Variable excelfile mit dem Pfad zur Exceldatei belegen.

2

Excel Datenobjekt erstellen und der Variablen workbook zuweisen.

3

Beginnend bei Zelle B3, eine 5 Zeilen breite und 4 Spalten hohe Matrix einlesen und in die Variable matrix schreiben.

4

Variable matrix auf dem Scripting Monitor ausgeben.

getFormula()
Tabelle 86. Liest die Formel in der angegebenen Zelle.

getFormula(CELL)

Parameter

Typ

Beschreibung

CELL

string

Adresse der Excel Zelle (z.B. C12)



Beispiel Formel aus einer Excel Zelle lesen und auf dem Scripting-Monitor ausgeben

let excelfile = "c:/example/excelfile.xlsx";
let workbook = workbookFactory.createWorkbook(excelfile);
let formula = workbook.getFormula("C12");
println(formula);

Daten schreiben

setValue()
Tabelle 87. Schreibt einen Wert in eine Zelle.

setValue(CELL, value);

Parameter

Typ

Beschreibung

CELL

string

Adresse der Excel Zelle (z.B. C12)

value

int

double

string

Wert, der in die Zelle geschrieben wird.

Mögliche Fehler

Der Benutzer hat keine Schreibberechtigung für die angegebene Excel Datei.

Die Excel Datei ist in einer anderen Anwendung geöffnet.



Beispiel Wert in eine Excel Zelle schreiben

1let excelfile = "c:/example/excelfile.xlsx";
2let workbook = workbookFactory.createWorkbook(excelfile);
3workbook.setValue("B3", 12.3);
4workbook.writeToFile(excelfile);

1

Variable excelfile mit dem Pfad zur Exceldatei belegen.

2

Excel Datenobjekt erstellen und der Variablen workbook zuweisen.

3

Wert 12.3 in die Zelle B3 schreiben.

4

Änderungen an der Excel Datei herausschreiben.

setRichText()
Tabelle 88. Schreibt formatierten Text in die angegebene Zelle. Dem Text oder Teilen des Textes können Stile zugewiesen werden.

setRichText(CELL, {format}string);

Parameter

Typ

Beschreibung

CELL

string

Adresse der Excel Zelle (z.B. C12)

{format}

b

Fett

s

Tiefgestellt

p

Hochgestellt

i

Kursiv

u

Unterstrichen

k

Durchgestrichen

Steuerzeichen, die zur Angabe des Textformats verwendet werden. Die Steuerzeichen können kombiniert werden.

string

string

Zu formatierender Text



Beispiel Formatierten Text in Excel Zellen schreiben

1let excelfile = "c:/example/excelfile.xlsx";
2let workbook = workbookFactory.createWorkbook(excelfile);
3workbook.setRichText("B3", "{b}This text is displayed in bold");
4workbook.setRichText("B4", "{b}This text is displayed in bold {}This text has no formatting");
5workbook.setRichText("B5", "{bi}This text is displayed in bold and italic");
6workbook.writeToFile(excelfile);

1

Variable excelfile mit dem Pfad zur Exceldatei belegen.

2

Excel Datenobjekt erstellen und der Variablen workbook zuweisen.

3

Fett formatierten Text in Zelle B3 schreiben.

4

Formatierten Text in Zelle B4 schreiben. Der erste Teil ist fett. Die leeren Klammern heben die Formatierung für den zweiten Teil des Textes auf.

5

Fett und kursiv formatierten Text in Zelle B5 schreiben.

6

Änderungen an der Excel Datei herausschreiben.

setValuesRow()
Tabelle 89. Schreibt die Werte eines Arrays als Zeile (horizontal), beginnend an der angegebenen Zelladresse.

setValuesRow(CELL, array);

Parameter

Typ

Beschreibung

CELL

string

Adresse der Excel Zelle (z.B. C12)

array

int Array

double Array

string Array

Array, dessen Werte herausgeschrieben werden.

Mögliche Fehler

Der Benutzer hat keine Schreibberechtigung für die angegebene Excel Datei.

Die Excel Datei ist in einer anderen Anwendung geöffnet.



Beispiel Array als Zeile in Excel-Datei herausschreiben

1let excelfile = "c:/example/excelfile.xlsx";
2let workbook = workbookFactory.createWorkbook(excelfile);
3let array = [1.2, 1.4, 1,7, 1.9];
4workbook.setValuesRow("B3", array);
5workbook.writeToFile(excelfile);

1

Variable excelfile mit dem Pfad zur Exceldatei belegen.

2

Excel Datenobjekt erstellen und der Variablen workbook zuweisen.

3

Variable array mit einem Array bestehend aus mehreren double Werten belegen.

4

Array beginnend bei Adresse B3 schreiben.

4

Änderungen an der Excel Datei herausschreiben.

setValuesRow.png
setValuesColumn()
Tabelle 90. Schreibt die Werte eines Arrays als Spalte (vertikal), beginnend an der angegebenen Zelladresse.

setValuesColumn(CELL, array);

Parameter

Typ

Beschreibung

CELL

string

Adresse der Excel Zelle (z.B. C12)

array

int Array

double Array

string Array

Array, dessen Werte herausgeschrieben werden.

Mögliche Fehler

Der Benutzer hat keine Schreibberechtigung für die angegebene Excel Datei.

Die Excel Datei ist in einer anderen Anwendung geöffnet.



Beispiel Array von Werten als Spalte in Excel herausschreiben

1let excelfile = "c:/example/excelfile.xlsx";
2let workbook = workbookFactory.createWorkbook(excelfile);
3let array = [1.2, 1.4, 1,7, 1.9];
4workbook.setValuesColumn("B3", array);
5workbook.writeToFile(excelfile);

1

Variable excelfile mit dem Pfad zur Exceldatei belegen.

2

Excel Datenobjekt erstellen und der Variablen workbook zuweisen.

3

Variable array mit einem Array bestehend aus mehreren double Werten belegen.

4

Array beginnend bei Adresse B3 schreiben.

4

Änderungen an der Excel Datei herausschreiben.

setValuesColumn.png
setValuesMatrix()
Tabelle 91. Schreibt die Werte einer Matrix, beginnend an der angegebenen Zelladresse.

setValuesMatrix(CELL, matrix);

Parameter

Typ

Beschreibung

CELL

string

Adresse der Excel Zelle (z.B. C12)

matrix

int Matrix

double Matrix

string Matrix

Matrix, deren Werte herausgeschrieben werden.

Mögliche Fehler

Der Benutzer hat keine Schreibberechtigung für die angegebene Excel Datei.

Die Excel Datei ist in einer anderen Anwendung geöffnet.



Beispiel Matrix von Daten in Excel-Datei herausschreiben

1let stageID = getCompByType('cylindrical_mesh')[0];
2let excelfile = "c:/example/excelfile.xlsx";
3let workbook = workbookFactory.createWorkbook(excelfile);
4let matrix = getAttr("local_methods_grid_pressure_z", stageID, RDAT);
5workbook.setValuesMatrix("B3", matrix);
6workbook.writeToFile(excelfile);

1

Variable stageID mit der Komponenten-ID der ersten Stirnradstufe im Modell belegen.

2

Variable excelfile mit dem Pfad zur Exceldatei belegen.

3

Excel Datenobjekt erstellen und der Variablen workbook zuweisen.

4

Matrix Flankenpressung via getAttr() lesen und in die Variable Matrix schreiben.

5

Matrixbeginnend bei Adresse B3 schreiben.

6

Änderungen an der Excel Datei herausschreiben.

setValuesMatrixT()
Tabelle 92. Schreibt die transponierten Werte (Zeilen & Spalten getauscht) einer Matrix, beginnend an der angegebenen Zelladresse.

setValuesMatrix(CELL, matrix);

Parameter

Typ

Beschreibung

CELL

string

Adresse der Excel Zelle (z.B. C12)

matrix

int Matrix

double Matrix

string Matrix

Matrix, deren Werte transponiert herausgeschrieben werden.

Mögliche Fehler

Der Benutzer hat keine Schreibberechtigung für die angegebene Excel Datei.

Die Excel Datei ist in einer anderen Anwendung geöffnet.



Beispiel Transponierte Matrix von Daten in Excel-Datei herausschreiben

1let stageID = getCompByType('cylindrical_mesh')[0];
2let excelfile = "c:/example/excelfile.xlsx";
3let workbook = workbookFactory.createWorkbook(excelfile);
4let matrix = getAttr("local_methods_grid_pressure_z", stageID, RDAT);
5workbook.setValuesMatrixT("B3", matrix);
6workbook.writeToFile(excelfile);

1

Variable stageID mit der Komponenten-ID der ersten Stirnradstufe im Modell belegen.

2

Variable excelfile mit dem Pfad zur Exceldatei belegen.

3

Excel Datenobjekt erstellen und der Variablen workbook zuweisen.

4

Matrix Flankenpressung via getAttr() lesen und in die Variable Matrix schreiben.

5

Matrix beginnend bei Adresse B3 schreiben.

6

Änderungen an der Excel Datei herausschreiben.

setFormula()
Tabelle 93. Schreibt eine Formel in der angegebenen Zelle. Damit das Ergebnis der Formel beim öffnen der Excel Datei angezeigt wird, muss die Zelle nach dem Setzen der Formel über die Funktion evaluateFormulaCell() ausgewertet werden.

setFormula(CELL, formula)

Parameter

Typ

Beschreibung

CELL

string

Adresse der Excel Zelle (z.B. C12)

formula

string

Formel, die in die Zelle geschrieben wird



Hinweis

Die Hilfsfunktion getSupportedFunctionNames() ermöglicht es, eine Liste aller unterstützten Excel-Funktionen zu erstellen.

Script zum Ausgeben der Funktionsliste auf dem Scripting-Monitor:

let workbook = workbookFactory.createNewWorkbook();
print(workbook.getSupportedFunctionNames());

Hinweis

Bei der Verwendung von Excel unter Office356 muss den Funktionsnamen das Präfix _xlfn.vorangestellt werden.

Script zum Schreiben der Formel für die Summe aus den Zellen A2 und B2 in Zelle A1:

workbook.setFormula("A1", "_xlfn.SUM(A2;B2)");

Beispiel Formel in eine Excel Zelle schreiben und Ergebnis auswerten

let excelfile = "c:/example/excelfile.xlsx";
let workbook = workbookFactory.createWorkbook(excelfile);
workbook.setFormula("C12", "SUM(D2;A13)");
workbook.evaluateFormulaCell("C12");
workbook.writeToFile(excelfile);

Hilfsfunktionen

getRelCellAddr()
Tabelle 94. Liefert die relative Zellenadresse bezogen auf eine Referenzzelle. Angegeben wird der horizontale und vertikale Abstand zur Referenzzelle.

getRelCellAddr(referenceCellAddress, distanceHorizontal, distanceVertical);

Parameter

Typ

Beschreibung

referenceCellAddress

string

Adresse der Referenz Excel Zelle (z.B. C12)

distanceHorizontal

int

Horizontaler Abstand zur Referenzzelle

distanceVertical

int

Vertikaler Abstand zur Referenzzelle



Beispiel Relative Zellenadresse abfragen

1let excelfile = "c:/example/excelfile.xlsx";
2let workbook = workbookFactory.createWorkbook(excelfile);
3let relativeAdress = workbook.getRelCellAddr("B3", 5, 3);
4println(relativeAdress);

1

Variable excelfile mit dem Pfad zur Exceldatei belegen.

2

Excel Datenobjekt erstellen und der Variablen workbook zuweisen.

3

Abfrage der Zelladresse, die sich 5 Zellen rechts und 3 Zellen unterhalb von B3 befindet.

4

Ausgabe der relativen Zellenadresse "G6" auf dem Scripting Monitor.

relativeCellAddress.png
isFileWriteable()
Tabelle 95. Prüft ob eine Exceldatei geschrieben werden kann. Der Rückgabewert ist true oder false.

isFileWriteable(pathToFile);

Parameter

Typ

Beschreibung

pathToFile

string

Pfad zur Exceldatei die geprüft werden soll.



Beispiel

Bevor Änderungen an der Excel-Datei herausgeschrieben werden, prüft das Skript, ob die Datei beschreibbar ist. Wenn nicht, wird in einem Dialog eine Meldung angezeigt, die den Benutzer auffordert, die Datei zu schließen. Wenn die Meldung mit OK quittiert wird und die Datei immer noch nicht beschreibbar ist, wird der Dialog erneut angezeigt. Wenn die Datei dann immer noch nicht beschreibbar ist, wird das Skript abgebrochen und eine Meldung auf dem Scripting-Monitor angezeigt.

1let excelfile = "c:/example/excelfile.xlsx";
2let workbook = workbookFactory.createWorkbook(excelfile);
3let messageCount = 0;
4while(workbook.isFileWriteable(excelfile) == false){
5    if(messageCount == 2){
6        stopScript("Script could not be executed")
        }
7	alert("Output file is still open. Please close.");
8	messageCount++;
    }
9workbook.writeToFile(excelfile);

1

Variable excelfile mit dem Pfad zur Exceldatei belegen.

2

Excel Datenobjekt erstellen und der Variablen workbook zuweisen.

3

Die Variable messageCount speichert, wie oft der Dialog bereits angezeigt wurde.

4

While-Schleife, die solange durchlaufen wird, bis die Funktion isFileWriteable() true zurückgibt.

5

Wenn die Variable messageCount gleich 2 ist

6

wird die Scriptausführung abgebrochen und die Meldung "Script could not be executed" ausgegeben.

7

Dialogfenster mit der Meldung "Output file is still open. Please close." anzeigen.

8

Variable messageCount bei jedem Schleifendurchlauf um 1 erhöhen.

9

Änderungen an der Excel Datei herausschreiben.

evaluateAllFormulaCells()
Tabelle 96. Wertet alle Formelzellen aus und schreibt die Ergebnisse in die Zellen. Die hinterlegten Formeln bleiben erhalten.

evaluateAllFormulaCells();

Parameter

Typ

Beschreibung

-

-

-



Beispiel

let excelfile = "c:/example/excelfile.xlsx";
let workbook = workbookFactory.createWorkbook(excelfile);
workbook.evaluateAllFormulaCells();
workbook.writeToFile(excelfile);
evaluateFormulaCell()
Tabelle 97. Wertet die angegebene Formelzelle aus und schreibt das Ergebnis in die Zelle. Die hinterlegte Formel bleibt erhalten.

evaluateFormulaCell(CELL);

Parameter

Typ

Beschreibung

CELL

string

Adresse der Excel Zelle (z.B. C12)



Beispiel

let excelfile = "c:/example/excelfile.xlsx";
let workbook = workbookFactory.createWorkbook(excelfile);
workbook.evaluateFormulaCell("C12");
workbook.writeToFile(excelfile);

Arbeitsblätter

isSheet()
Tabelle 98. Prüft, ob ein Arbeitsblatt mit dem angegebenen Namen existiert.

isSheet(sheetName);

Parameter

Typ

Beschreibung

sheetName

string

Name des zu prüfenden Arbeitsblatts.

Rückgabewert

boolean

true - Das Arbeitsblatt existiert

false - Kein Arbeitsblatt mit diesem Namen vorhanden



Beispiel

Prüfung, ob ein Arbeitsblatt mit dem Namen "results" existiert. Wenn ja, wird es als aktives Arbeitsblatt gesetzt. Wenn nein, wird ein neues Arbeitsblatt mit dem Namen "results" angelegt und als aktives Arbeitsblatt festgelegt.

1let excelfile = "c:/example/excelfile.xlsx";
2let workbook = workbookFactory.createWorkbook(excelfile);
3let sheetForResults = "results";
4if (workbook.isSheet(sheetForResults)) {    
5    workbook.setCurrentSheet(sheetForResults);
6}else {    
7    workbook.createSheet(sheetForResults, true);
    }
8workbook.writeToFile(excelfile);

1

Variable excelfile mit dem Pfad zur Exceldatei belegen.

2

Excel Datenobjekt erstellen und der Variablen workbook zuweisen.

3

Variable sheetForResults mit dem Namen des Arbeitsblatts belegen in das geschrieben werden soll ("results").

4

Wenn bereits ein Arbeitsblatt mit dem Namen results exisitiert,

5

wird es als aktives Arbeitsblatt gesetzt.

6

Ansonsten

7

wird ein neues Arbeitsblatt mit dem Namen "results" angelegt und als aktives Arbeitsblatt festgelegt.

8

Änderungen an der Excel Datei herausschreiben.

setCurrentSheet()
Tabelle 99. Legt das Excel Arbeitsblatt fest das bearbeitet wird (aktives Arbeitsblatt).

setCurrentSheet(sheetName);

Parameter

Typ

Beschreibung

sheetName

string

Name des Arbeitsblatts das bearbeitet werden soll.

Mögliche Fehler

Das angegebene Arbeitsblatt existiert nicht.



Beispiel Arbeitsblatt setzen mit dem bearbeitet werden soll

1let excelfile = "c:/example/excelfile.xlsx";
2let workbook = workbookFactory.createWorkbook(excelfile);
3workbook.setCurrentSheet("results");

1

Variable excelfile mit dem Pfad zur Exceldatei belegen.

2

Excel Datenobjekt erstellen und der Variablen workbook zuweisen.

3

Das Arbeitsblatt mit dem Namen "results" als aktives Arbeitsblatt setzen.

getCurrentSheet()
Tabelle 100. Liefert den Namen des aktuellen Excel-Arbeitsblatts.

getCurrentSheet();

Parameter

Typ

Beschreibung

-

-

-



Beispiel Namen des aktuellen Excel-Arbeitsblatts auf dem Scripting Monitor ausgeben

1let excelfile = "c:/example/excelfile.xlsx";
2let workbook = workbookFactory.createWorkbook(excelfile);
3let workSheet = workbook.getCurrentSheet();
4println(workSheet);

1

Variable excelfile mit dem Pfad zur Exceldatei belegen.

2

Excel Datenobjekt erstellen und der Variablen workbook zuweisen.

3

Namen des aktuellen Arbeitsblatts in die Variable workSheet schreiben.

4

Name des Excel-Arbeitsblatts auf dem Scripting Monitors ausgeben.

createSheet()
Tabelle 101. Legt ein neues Excel Arbeitsblatt an. Optional kann das Arbeitsblatt gleichzeitig als aktives Arbeitsblatt gesetzt werden.

createSheet(sheetName, setAsCurrentSheet);

Parameter

Typ

Beschreibung

sheetName

string

Name des Arbeitsblatts das erstellt werden soll.

setAsCurrentSheet

boolean

true - Das Arbeitsblatt wird nach der Erstellung als aktives Arbeitsblatt gesetzt.

false - Das Arbeitsblatt wird nur angelegt.

Mögliche Fehler

Es existiert bereits ein Arbeitsblatt mit dem angegebenen Namen.



Beispiel Neues Arbeitsblatt anlegen

1let excelfile = "c:/example/excelfile.xlsx";
2let workbook = workbookFactory.createWorkbook(excelfile);
3workbook.createSheet("Input data", true);
4workbook.writeToFile(excelfile);

1

Variable excelfile mit dem Pfad zur Exceldatei belegen.

2

Excel Datenobjekt erstellen und der Variablen workbook zuweisen.

3

Das Arbeitsblatt mit dem Namen "results" als aktives Arbeitsblatt setzen.

4

Änderungen an der Exceldatei herausschreiben.

deleteSheet()
Tabelle 102. Löscht das angegebene Arbeitsblatt.

deleteSheet(sheetName);

Parameter

Typ

Beschreibung

sheetName

string

Name des zu löschenden Arbeitsblatts.

Mögliche Fehler

Das angegebene Arbeitsblatt existiert nicht.



Beispiel Arbeitsblatt löschen

1let excelfile = "c:/example/excelfile.xlsx";
2let workbook = workbookFactory.createWorkbook(excelfile);
3workbook.deleteSheet("Load spectrum");
4workbook.writeToFile(excelfile);

1

Variable excelfile mit dem Pfad zur Exceldatei belegen.

2

Excel Datenobjekt erstellen und der Variablen workbook zuweisen.

3

Arbeitsblatt mit dem Namen "Load spectrum" löschen.

4

Änderungen an der Excel Datei herausschreiben.

renameCurrentSheet()
Tabelle 103. Benennt das aktuelle Arbeitsblatt um.

renameCurrentSheet(newSheetName);

Parameter

Typ

Beschreibung

newSheetName

string

Neuer Name für das Arbeitsblatt.



Beispiel Arbeitsblatt umbennen

1let excelfile = "c:/example/excelfile.xlsx";
2let workbook = workbookFactory.createWorkbook(excelfile);
3workbook.renameCurrentSheet("Worksheet 123");
4workbook.writeToFile(excelfile);

1

Variable excelfile mit dem Pfad zur Exceldatei belegen.

2

Excel Datenobjekt erstellen und der Variablen workbook zuweisen.

3

Namen des aktuellen Arbeitsblatts zu "Worksheet 123" ändern.

4

Änderungen an der Excel Datei herausschreiben.

cloneSheet()
Tabelle 104. Kopiert das angegebene Arbeitsblatt

cloneSheet(sheetName, clonedSheetName, active);

Parameter

Typ

Beschreibung

sheetName

string

Name des zu kopierenden Arbeitsblatts

clonedSheetName

string

Name der Kopie

active

boolean

true - Kopierte Arbeitsblatt wird zum aktiven Arbeitsblatt

false - Aktives Arbeitsblatt wird nicht geändert



Beispiel Namen des aktuellen Excel-Arbeitsblatts auf dem Scripting Monitor ausgeben

1let excelfile = "c:/example/excelfile.xlsx";
2let workbook = workbookFactory.createWorkbook(excelfile);
3cloneSheet("Worksheet1", "Worksheet1Copy", true);
4workbook.writeToFile(excelfile);

1

Variable excelfile mit dem Pfad zur Exceldatei belegen.

2

Excel Datenobjekt erstellen und der Variablen workbook zuweisen.

3

Arbeitsblatt mit dem Namen "Worksheet1" kopieren und der Kopie den Namen "Worksheet1Copy" zuweisen. Die Kopie wird als aktives Arbeitsblatt gesetzt.

4

Änderungen an der Exceldatei herausschreiben.

Layout

setBackgroundColor()
Tabelle 105. Ändert die Hintergrundfarbe einer Zelle.

setBackgroundColor(CELL, colorindex);

Parameter

Typ

Beschreibung

CELL

string

Adresse der Excel Zelle (z.B. C12)

colorindex

int



Beispiel Hintergrundfarbe einer Excelzelle ändern

1let excelfile = "c:/example/excelfile.xlsx";
2let workbook = workbookFactory.createWorkbook(excelfile);
3workbook.setBackgroundColor("B3", 3);
4workbook.writeToFile(excelfile);

1

Variable excelfile mit dem Pfad zur Exceldatei belegen

2

Excel Datenobjekt erstellen und der Variablen workbook zuweisen

3

Hintergrundfarbe der Zelle B3 auf den Farbindex 3 setzen

4

Änderungen an der Excel Datei herausschreiben

setFontColor()
Tabelle 106. Ändert die Textfarbe einer Zelle.

setFontColor(CELL, colorindex);

Parameter

Typ

Beschreibung

CELL

string

Adresse der Excel Zelle (z.B. C12)

colorindex

int



Beispiel Textfarbe einer Excelzelle ändern

1let excelfile = "c:/example/excelfile.xlsx";
2let workbook = workbookFactory.createWorkbook(excelfile);
3workbook.setFontColor("B3", 4);
4workbook.writeToFile(excelfile);

1

Variable excelfile mit dem Pfad zur Exceldatei belegen.

2

Excel Datenobjekt erstellen und der Variablen workbook zuweisen.

3

Textfarbe der Zelle B3 in Gelb ändern.

4

Änderungen an der Excel Datei herausschreiben.

mergeCells()
Tabelle 107. Verbindet mehrere Excel Zellen zu einer Zelle.

mergeCells(fromCELL, toCELL);

Parameter

Typ

Beschreibung

fromCELL

string

Adresse der oberen linke Zelle

toCELL

string

Adresse der unteren rechte Zelle



Beispiel Zellen B3 bis D4 verbinden

1let excelfile = "c:/example/excelfile.xlsx";
2let workbook = workbookFactory.createWorkbook(excelfile);
3workbook.mergeCells("B3", "D4");
4workbook.writeToFile(excelfile);

1

Variable excelfile mit dem Pfad zur Exceldatei belegen.

2

Excel Datenobjekt erstellen und der Variablen workbook zuweisen.

3

Alle Zellen verbinden, die der Bereich A2 bis D3 aufspannt.

4

Änderungen an der Excel Datei herausschreiben.

merge_cells.png

Beim Verbinden von Zellen bleibt nur der Wert der obersten linken Zelle erhalten. Alle anderen Werte werden verworfen. Per Default wird der Inhalt der verbundenen Zelle zentriert und unten ausgerichtet.

Um einen Wert in die verbundene Zelle zu schreiben oder das Layout anzupassen, muss die obere linke Zelladresse in den entsprechenden Funktionen angegeben werden.

setCellAlign()
Tabelle 108. Ändert die horizontale Ausrichtung einer Excel Zelle.

setCellAlign(CELL, alignment);

Parameter

Typ

Beschreibung

CELL

string

Adresse der Excel Zelle (z.B. C12)

alignment

string

Folgende Formatierungsoptionen stehen zur Verfügung:

horizontal_text_align_examples.png

Links stehen die Werte, die alignment annehmen kann. Um die Zellenausrichtung auf den Defaultzustand zurückzusetzen, kann der Wert general verwendet werden.



Beispiel Inhalt einer Zelle horizontal zentrieren

1let excelfile = "c:/example/excelfile.xlsx";
2let workbook = workbookFactory.createWorkbook(excelfile);
3workbook.setCellAlign("B4", "center");
4workbook.writeToFile(excelfile);

1

Variable excelfile mit dem Pfad zur Exceldatei belegen.

2

Excel Datenobjekt erstellen und der Variablen workbook zuweisen.

3

Inhalt der Zelle B4 horizontal zentrieren.

4

Änderungen an der Excel Datei herausschreiben.

setVCellAlign()
Tabelle 109. Ändert die vertikale Ausrichtung einer Excel Zelle.

setVCellAlign(CELL, alignment);

Parameter

Typ

Beschreibung

CELL

string

Adresse der Excel Zelle (z.B. C12)

alignment

string

Folgende Formatierungsoptionen stehen zur Verfügung:

vertical_text_align_examples.png

Links stehen die Werte, die alignment annehmen kann.



Beispiel Inhalt einer Zelle unten ausrichten

1let excelfile = "c:/example/excelfile.xlsx";
2let workbook = workbookFactory.createWorkbook(excelfile);
3workbook.setVCellAlign("B4", "bottom");
4workbook.writeToFile(excelfile);

1

Variable excelfile mit dem Pfad zur Exceldatei belegen.

2

Excel Datenobjekt erstellen und der Variablen workbook zuweisen.

3

Inhalt der Zelle B4 unten ausrichten.

4

Änderungen an der Excel Datei herausschreiben.