Dokumentacija HotXLS

Metoda WriteCells

Zapolni območje klasičnega delovnega lista XLS s klicem kode aplikacije za vrednost vsake celice

Sintaksa

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;

Opombe

Prekoračitev z nizom sprejema obseg v slogu A1, kot je A1:C100. Številčna prekoračitev uporablja indekse vrstic in stolpcev na osnovi 1. Obsegi so normalizirani, ko je začetna vrstica ali stolpec večji od končne vrstice ali stolpca
Celice se zahtevajo po vrstičnem vrstnem redu. Nastavite Value v povratnem klicu za zapis trenutne celice. Nastavite Skip na True, da pustite trenutno celico nespremenjeno. Nastavite Cancel na True za ustavitev po trenutnem povratnem klicu. Povratna vrednost je število zapisanih celic
Ta metoda piše v naloženi model delovnega lista. Je kompakten pomočnik za pisanje na osnovi povratnih klicev, ne pa način shranjevanja prek toka datoteke

Primer

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

Glejte tudi