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