Bezeichnung
xlsx.CellRange -- durchläuft einen Zellbereich
Übersicht
ref = xlsx.CellRange(id, startx, starty, endx, endy[, sheet])
ref = xlsx.CellRange(id, startcell$, endcell$[, sheet])
Beschreibung
Dieser Befehl kann verwendet werden, um einen Bereich von Zellen zu durchlaufen. Sie müssen die Zelle übergeben, in dem der Durchlauf beginnen soll, und die Zelle, in der sie enden soll. xlsx.CellRange() gibt dann eine Iteratorfunktion zurück, die zusammen mit Hollywoods generischer For-Schleife verwendet werden kann. Die Iteratorfunktion gibt eine Referenz auf eine Zelle zurück, die an alle Befehle übergeben werden kann, die mit Zellen wie xlsx.SetCellValue() oder xlsx.GetCellValue() arbeiten.

Die Übergabe einer Zellreferenz, die von xlsx.CellRange() zurückgegeben wird, an Befehlen wie xlsx.SetCellValue() oder xlsx.GetCellValue() ist viel schneller als das Adressieren der Zelle über ihre Spalten- und Zeilenposition oder ihre alphanumerische Position (z.B. "A1"). Aus diesem Grund wird empfohlen, xlsx.CellRange() immer dann zu verwenden, wenn Sie viele Zellen durchlaufen müssen, insbesondere in großen XLSX-Dokumenten mit Tausenden von Spalten und Zeilen.

xlsx.CellRange() unterstützt zwei Möglichkeiten, den Start und die Zellen anzugeben: Sie können entweder die zu verwendenden Zellen angeben, indem Sie ihre Spalten- (x) und Zeilenpositionen (y) in den Argumenten startx/starty und endx/endy übergeben. Diese Positionen beginnen bei 1 für die erste Spalte und Zeile. Alternativ können Sie die Zellen auch angeben, indem Sie ihre alphanumerischen Position in den Parametern startcell$ und endcell$ übergeben, z.B. "A10" für die erste Zelle in der 10. Zeile. 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() gesetzte Arbeitsblatt verwendet.

Eingaben
id
ID des zu verwendenden XLSX-Dokuments
startx
Spaltenindex der Startzelle
starty
Zeilenindex der Startzelle
endx
Spaltenindex der Endzelle
endy
Zeilenindex der Endzelle
startcell$
alphanumerischer Startzellenposition (z.B. "A1"), wird nur verwendet, wenn startx und starty weggelassen werden
endcell$
alphanumerischer Zellenendposition (z.B. "Z100"), wird nur verwendet, wenn endx und endy weggelassen werden
sheet
optional: Index des zu verwendenden Arbeitsblatts (voreingestellt ist der Index des Standardarbeitsblatts)
Rückgabewerte
ref
eine Zellenposition
Beispiel
xlsx.Open(1, "test.xlsx")
cols = xlsx.GetColumnCount(1)
rows = xlsx.GetRowCount(1)
For ref In xlsx.CellRange(1, 1, 1, cols, rows)
   DebugPrint((xlsx.GetCellValue(1, ref)))
Next
xlsx.Close(1)
Der obige Code öffnet die Datei test.xlsx und gibt die Werte aller Zellen aus.

Navigation zeigen