Dokumentace HotXLS

Metoda WriteCells

Vyplní rozsah klasického listu XLS voláním kódu aplikace pro hodnotu každé buňky

Syntaxe

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;

Poznámky

Přetížení s řetězcem přijímá rozsah ve stylu A1, například A1:C100. Číselné přetížení používá indexy řádků a sloupců se základem 1. Rozsahy jsou normalizovány, pokud je počáteční řádek nebo sloupec větší
Buňky jsou požadovány v pořadí hlavních řádků. Nastavte Value ve zpětném volání pro zapsání aktuální buňky. Nastavte Skip na True pro ponechání aktuální buňky nezměněné. Nastavte Cancel na True pro předčasné ukončení
Tato metoda zapisuje do načteného modelu listu. Je to kompaktní pomocník pro zápis na základě zpětného volání, nikoli režim streamovaného ukládání souborů

Příklad

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

Viz také