Kitölti a klasszikus XLS munkalap tartományát azáltal, hogy minden cella értékéhez meghívja az alkalmazás kódját
Szintaxis
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;
Megjegyzések
A karakterlánc-túlterhelés A1-stílusú tartományt fogad el, mint például az A1:C100. A numerikus túlterhelés 1-alapú sor- és oszlopindexeket használ. A tartományok normalizálódnak, ha a kezdősor vagy -oszlop nagyobb, mint a záró sor vagy -oszlop
A cellák sor-alapú sorrendben kérdezhetők le. Állítsa be a Value-t a visszahívóban az aktuális cella írásához. Állítsa a Skip értékét True-ra az aktuális cella változatlan hagyásához. Állítsa a Cancel értékét True-ra az aktuális visszahívás utáni leállításhoz. A visszatérési érték az írt cellák száma
Ez a metódus a betöltött munkalap modellbe ír. Ez egy kompakt visszahívás-alapú írási segéd, nem fájl-streaminges mentési mód
Példa
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);
Lásd még