Bezeichnung
xlsx.SetCellFormula -- setzt die Zellenformel
Übersicht
xlsx.SetCellFormula(id, x, y, f$[, sheet])
xlsx.SetCellFormula(id, ref, f$[, sheet])
Beschreibung
Dieser Befehl setzt die Formel der angegebenen Zelle auf die in f$ angegebene. Nach Aufruf von diesem Befehl gibt xlsx.HaveCellFormula() True zurück. Es gibt zwei Möglichkeiten, die Zelle anzugeben, deren Wert festgelegt werden soll: Sie können die zu verwendende Zelle entweder angeben, indem Sie die Spalten- (x) und Zeilenposition (y) der Zelle in den Argumenten x und y übergeben. Diese Positionen beginnen bei 1 für die erste Spalte und Zeile. Alternativ können Sie die Zelle auch angeben, indem Sie ihre Position im Parameter ref übergeben. Dies kann entweder eine Zeichenkette sein, z.B. "A10" für die erste Zelle in der 10. Zeile oder ein Iteratorreferenz, die vom Befehl xlsx.CellRange() zurückgegeben wird. Optional können Sie auch den Index des zu verwendenden Arbeitsblatts im optionalen Parameter sheet übergeben (beginnend mit 1 für das erste Arbeitsblatt). Wenn der Parameter sheet weggelassen wird, wird das mit xlsx.SetDefaultSheet() eingestellte Arbeitsblatt verwendet.

Beachten Sie, dass die Formel ohne Gleichheitszeichen angegeben werden muss, z.B. müssen Sie "A1+A2" anstelle von "=A1+A2" verwenden. Beachten Sie auch, dass das XLSX-Plugin das Ergebnis der Formel nicht berechnet, d.h. Sie können nicht erwarten, dass xlsx.GetCellValue() das Berechnungsergebnis nach dem Festlegen einer Zellformel erhält. Um Formelwerte berechnen zu lassen, müssen Sie das XLSX-Dokument in Excel oder Calc von LibreOffice öffnen und speichern.

Eingaben
id
ID des zu verwendenden XLSX-Dokuments
x
Spaltenindex der zu verwendenden Zelle (beginnend bei 1)
y
Zeilenindex der zu verwendenden Zelle (beginnend bei 1)
ref
Zellposition (z.B. "A1" oder ein Iteratorreferenz), wird nur verwendet, wenn x und y weggelassen werden
f$
gewünschte Zellformel (ohne Gleichheitszeichen)
sheet
optional: Index des zu verwendenden Arbeitsblatts (standardmäßig der Index des Standardarbeitsblatts)
Beispiel
xlsx.SetCellFormula(1, "A3", "A1+A2")
Der obige Code setzt Zelle A3 auf die Summe der Zellen A1+A2.

Navigation zeigen