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