Remplit une plage de feuille de calcul XLS classique en appelant le code applicatif pour la valeur de chaque cellule
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;
Remarques
La surcharge de chaîne accepte une plage de style A1 comme A1:C100. La surcharge numérique utilise des index de ligne et de colonne à base 1. Les plages sont normalisées lorsque la ligne ou la colonne de début est supérieure à la ligne ou la colonne de fin
Les cellules sont demandées en ordre ligne-majorité. Définissez Value dans le rappel pour écrire la cellule courante. Définissez Skip à True pour laisser la cellule courante inchangée. Définissez Cancel à True pour arrêter après le rappel courant. La valeur de retour est le nombre de cellules écrites
Cette méthode écrit dans le modèle de feuille de calcul chargé. C'est un assistant d'écriture compact basé sur des rappels, pas un mode d'enregistrement par flux de fichiers
Exemple
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);
Voir aussi