Referenčná stránka HotXLS pre WriteCells method, pokrývajúca automatizáciu Excel v Delphi a C++Builder, API zošita XLS/XLSX, funkcie pracovných listov a použitie v Pascal

Obsah

Metóda WriteCells

Vyplní rozsah klasického XLS pracovného listu volaním kódu aplikácie pre hodnotu každej bunky

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;

Vyplní rozsah klasického XLS pracovného listu volaním kódu aplikácie pre hodnotu každej bunky

Popis A1:C100Popis
The string overload accepts an A1-style range such as Value . The numeric overload uses 1-based row and column indexes. Ranges are normalized when the start row or column is greater than the end row or column Skip to True Reťazcové preťaženie prijíma rozsah štýlu A1, napríklad Cancel to True . Numerické preťaženie používa indexy riadkov a stĺpcov začínajúce od 1. Rozsahy sú normalizované, keď je počiatočný riadok alebo stĺpec väčší ako koncový riadok alebo stĺpec
Bunky sú vyžiadané v poradí podľa riadkov. Nastavte

v spätnom volaní na zápis aktuálnej bunky. Nastavte

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

na ponechanie aktuálnej bunky nezmenenej. Nastavte