HotXLS-Dokumentation

WriteCells-Methode

Füllt einen klassischen XLS-Tabellenblattbereich durch Aufrufen von Anwendungscode für jeden Zellenwert

Syntax

type
  TXLSCellWriteEvent = procedure(
    Sender: TObject;
    SheetIndex, Row, Col: Integer;
    var Value: Variant;
    var Skip: Boolean;
    var Cancel: Boolean) of object;

function WriteCells(ARange: WideString; Callback: TXLSCellWriteEvent): Integer; overload;
function WriteCells(ARow1, ACol1, ARow2, ACol2: Integer; Callback: TXLSCellWriteEvent): Integer; overload;

Hinweise

Die Zeichenfolge-Überladung akzeptiert einen A1-Stil-Bereich wie A1:C100. Die numerische Überladung verwendet 1-basierte Zeilen- und Spaltenindizes. Bereiche werden normalisiert, wenn die Startzeile oder -spalte größer ist als die Endzeile oder -spalte
Zellen werden in Zeilen-Major-Reihenfolge angefordert. Setzen Sie Value im Rückruf, um die aktuelle Zelle zu schreiben. Setzen Sie Skip auf True, um die aktuelle Zelle unverändert zu lassen. Setzen Sie Cancel auf True, um nach dem aktuellen Rückruf zu stoppen. Der Rückgabewert ist die Anzahl der geschriebenen Zellen
Diese Methode schreibt in das geladene Tabellenblattmodell. Sie ist ein kompakter rückrufbasierter Schreibe-Helfer, kein Datei-Streaming-Speichermodus

Beispiel

procedure TForm1.WriteCell(Sender: TObject; SheetIndex, Row, Col: Integer;
  var Value: Variant; var Skip: Boolean; var Cancel: Boolean);
begin
  if Col = 3 then
  begin
    Skip := True;
    Exit;
  end;

  Value := Format('R%dC%d', [Row, Col]);
  if Row >= 1000 then
    Cancel := True;
end;

Written := Workbook.Sheets[1].WriteCells('A1:D2000', WriteCell);

Siehe auch