Documentazione HotXLS

Metodo WriteCells

Riempie un intervallo del foglio di lavoro XLS classico chiamando il codice dell'applicazione per ogni valore di cella

Sintassi

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;

Note

Il sovraccarico stringa accetta un intervallo in stile A1 come A1:C100. Il sovraccarico numerico usa indici di riga e colonna in base 1. Gli intervalli vengono normalizzati quando la riga o colonna iniziale è maggiore della riga o colonna finale
Le celle vengono richieste in ordine riga per riga. Impostare Value nel callback per scrivere la cella corrente. Impostare Skip su True per lasciare invariata la cella corrente. Impostare Cancel su True per fermarsi dopo il callback corrente. Il valore restituito è il numero di celle scritte
Questo metodo scrive nel modello del foglio di lavoro caricato. È un helper di scrittura compatto basato su callback, non una modalità di salvataggio in streaming su file

Esempio

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);

Vedere anche