Puni klasični XLS opseg radnog lista pozivanjem koda aplikacije za svaku vrednost ćelije
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;
Napomene
Preopterećenje sa stringom prihvata A1-style opseg kao što je A1:C100. Numeričko preopterećenje koristi indekse redova i kolona zasnovane na 1. Opsezi se normalizuju kada je početni red ili kolona veći od završnog
Ćelije se zahtevaju u redosledu po redovima. Postavite Value u callback-u za pisanje trenutne ćelije. Postavite Skip na True da biste ostavili trenutnu ćeliju nepromenjenom. Postavite Cancel na True za zaustavljanje posle trenutne ćelije
Ovaj metod piše u učitani model radnog lista. To je kompaktan pomoćnik za pisanje zasnovan na callback-u, a ne mod čuvanja toka fajla
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);
Vidi takođe