Funktionsreferenz

_ExcelReadSheetToArray

Erstellt ein 2D Array von den Zeilen/Spalten des aktiven Tabellenblattes.

#Include <Excel.au3>
_ExcelReadSheetToArray($oExcel [, $iStartRow = 1 [, $iStartColumn = 1 [, $iRowCnt = 0 [, $iColCnt = 0 [, $iColShift = False]]]]])

 

Parameter

$oExcel Ein Excel Objekt welches durch einen vorherigen Aufruf von _ExcelBookOpen() oder _ExcelBookNew() geöffnet wurde
$iStartRow [optional] Zeilennummer ab der das lesen beginnen soll, Standard ist i (erste Zeile)
$iStartColumn [optional] Spaltennummer ab der das lesen beginnen soll, Standard ist i (erste Zeile)
$iRowCnt [optional] Anzahl von zu lesenden Zeilen, Standard ist 0 (alle)
$iColCnt [optional] Anzahl von zu lesenden Spalten, Standard ist 0 (alle)
$iColShift [optional] Bestimmt, ob das zurückgegebene Array beim Index 0 oder 1 beginnen soll. Standard = False. Dadurch passen R1C1 Werte.

 

Rückgabewert

Erfolg: Ein 2D Array mit den durch [$row][$col] festgelegten Zellinhalten
Fehler: 0 und setzt @error
@error: 0 - Kein Fehler
1 - festgelegtes Objekt existiert nicht
2 - Startparameter außerhalb des Bereiches
3 - Zählparameter außerhalb des Bereiches
@extended: 0 - Zeilenzähler außerhalb des Bereiches
1 - Spaltenzähler außerhalb des Bereiches

 

Bemerkungen

Das zurückgegebe Array hat die Anzahl von Zeilen in [0][0] und die Anzahl von Spalten in [0][1].
Außer den beiden Zellen für die Anzahl der Zeilen und Spalten ist das Array im Index 0 leer.
Die aktuellen Zelldaten beginnen bei [1][1] (angegeben mit R1C1 Zahlen).
Standardmäßig wird das komplette Tabellenblatt zurückgegeben.
Falls das Tabellenblatt leer ist, ist der Wert bei [0][0] und [0][1] jeweils 0.

 

Verwandte Funktionen

 

Beispiel


;***************************************************************************
; Beispiel 1 – Nach dem Öffnen einer Arbeitsmappe und Rückgabe des Objekt-Handles:
; Füllt die Zellen mit Zufallszahlen und liest die Zahlen (Werte) in ein Array ein. Dabei werden verschiedene Parameter verwendet
;***************************************************************************

#include <Excel.au3>
#include <Array.au3>

Local $oExcel = _ExcelBookNew() ; Erstellt eine neue Arbeitsmappe und zeigt sie an

; Wir können die Zellen mit einer einfachen Schleife mit Zufallszahlen auffüllen
For $y = 1 To 10 ; Start in Spalte 1
    For $x = 1 To 15
        _ExcelWriteCell($oExcel, Round(Random(1000, 10000), 0), $x, $y) ; Erzeugt viele Zufallszahlen
    Next
Next

$aArray = _ExcelReadSheetToArray($oExcel) ; Benutzt die vorgegebenen Parameter
_ArrayDisplay($aArray, "Das Array benutzt die vorgegebenen Parameter")
$aArray = _ExcelReadSheetToArray($oExcel, 2) ; Startet in der zweiten Zeile
_ArrayDisplay($aArray, "Startet in der zweiten Zeile")

$aArray = _ExcelReadSheetToArray($oExcel, 1, 2) ; Startet in der zweiten Spalte

$aArray = _ExcelReadSheetToArray($oExcel, 1, 1, 5) ; Liest fünf Zeilen
_ArrayDisplay($aArray, "Liest fünf Zeilen")

$aArray = _ExcelReadSheetToArray($oExcel, 1, 1, 0, 2) ; Liest zwei Spalten
_ArrayDisplay($aArray, "Liest zwei Spalten")

$aArray = _ExcelReadSheetToArray($oExcel, 2, 3, 4, 5) ; Startet in der zweiten Zeile der dritten Spalte, liest vier Zeilen und fünf Spalten
MsgBox(0,'Fehler',"@error: " & @error & @TAB & " @extended: " & @extended)
_ArrayDisplay($aArray, "Startet in der zweiten Zeile der dritten Spalte, liest vier Zeilen und fünf Spalten")

$aArray = _ExcelReadSheetToArray($oExcel, 1, 1, 0, 0, True) ; Benutzt die vorgegebenen Parameter, außer bei verschobenen Spalten (True)
_ArrayDisplay($aArray, "Array mit den verschobenen Spalten")

MsgBox(0, "Verlassen", "OK drücken, um die Datei zu speichern und das Programm zu verlassen")
_ExcelBookSaveAs($oExcel, @TempDir & "\Temp.xls", "xls", 0, 1) ; Nun speichern wir die Datei in ein temporäres Verzeichnis; existierende Dateien werden dabei überschrieben!
_ExcelBookClose($oExcel) ; Zum Abschluss verlassen wir das Programm