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