HotXLS dokumentacija

WriteCells metodas

Užpildo klasikinio XLS darbalapyje diapazoną kviesdamas programos kodą kiekvieno langelio reikšmei

Sintaksė

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;

Pastabos

Eilutės perkrova priima A1 stiliaus diapazoną, pvz., A1:C100. Skaitmeninė perkrova naudoja 1 pagrįstus eilučių ir stulpelių indeksus. Diapazonai yra normalizuojami, kai pradinė eilutė arba stulpelis yra didesni nei pabaigos eilutė arba stulpelis
Langeliai yra prašomi eilučių pagrindine tvarka. Atgaliniame iškvietime nustatykite Value, kad parašytumėte dabartinį langelį. Nustatykite Skip į True, kad paliktumėte dabartinį langelį nepakeistu. Nustatykite Cancel į True, kad sustotumėte po dabartinio atgalinio iškvietimo. Grąžinama reikšmė yra parašytų langelių skaičius
Šis metodas rašo į įkeltą darbalapyje modelį. Tai kompaktiškas atgaliniu iškvietimu pagrįstas rašymo pagalbininkas, o ne failo srautavimo išsaugojimo režimas

Pavyzdys

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

Taip pat žr