Vyplní rozsah klasického listu XLS voláním kódu aplikace pro hodnotu každé buňky
Syntaxe
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;
Poznámky
Přetížení s řetězcem přijímá rozsah ve stylu A1, například A1:C100. Číselné přetížení používá indexy řádků a sloupců se základem 1. Rozsahy jsou normalizovány, pokud je počáteční řádek nebo sloupec větší
Buňky jsou požadovány v pořadí hlavních řádků. Nastavte Value ve zpětném volání pro zapsání aktuální buňky. Nastavte Skip na True pro ponechání aktuální buňky nezměněné. Nastavte Cancel na True pro předčasné ukončení
Tato metoda zapisuje do načteného modelu listu. Je to kompaktní pomocník pro zápis na základě zpětného volání, nikoli režim streamovaného ukládání souborů
Příklad
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);
Viz také