Documentación de HotXLS

Metodo WriteCells

Rellena un rango de hoja de trabajo XLS clasica llamando al codigo de aplicacion para el valor de cada celda

Sintaxis

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;

Observaciones

La sobrecarga de cadena acepta un rango en estilo A1 como A1:C100. La sobrecarga numerica utiliza indices de fila y columna de base 1. El segundo parametro es el callback de la aplicacion
Las celdas se solicitan en orden de fila mayor. Establezca Value en el callback para escribir en la celda actual. Establezca Skip en True para omitir una celda
Este metodo escribe en el modelo de hoja de trabajo cargado. Es un asistente de escritura basado en callback compacto, no un sustituto de la generacion de archivos en flujo

Ejemplo

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

Vease tambien