Documentație HotXLS

Metoda WriteCells

Completează un interval al foii de lucru XLS clasice apelând codul aplicației pentru valoarea fiecărei celule

Sintaxă

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;

Observații

Supraîncărcarea cu șir acceptă un interval în stil A1 cum ar fi A1:C100. Supraîncărcarea numerică utilizează indexuri de rând și coloană cu baza 1. Intervalele sunt normalizate când rândul sau coloana de start este mai mare decât cea de final
Celulele sunt solicitate în ordine rând-major. Setați Value în callback pentru a scrie celula curentă. Setați Skip la True pentru a lăsa celula curentă nemodificată. Setați Cancel la True pentru a opri umplerea anticipat
Această metodă scrie în modelul foii de lucru încărcate. Este un ajutor compact de scriere bazat pe callback, nu un mod de salvare în flux de fișiere

Exemplu

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);

Vezi și