Mengisi rentang worksheet XLS klasik dengan memanggil kode aplikasi untuk setiap nilai sel
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;
Keterangan
Overload string menerima rentang gaya A1 seperti A1:C100. Overload numerik menggunakan indeks baris dan kolom berbasis 1. Rentang dinormalisasi saat baris atau kolom awal lebih besar daripada baris atau kolom akhir
Sel diminta dalam urutan row-major. Set Value di callback untuk menulis sel saat ini. Set Skip ke True untuk membiarkan sel saat ini tidak berubah. Set Cancel ke True untuk berhenti setelah callback saat ini. Nilai kembali adalah jumlah sel yang ditulis
Metode ini menulis ke model worksheet yang dimuat. Ini adalah helper penulisan ringkas berbasis callback, bukan mode penyimpanan file-streaming
Contoh
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);
Lihat juga