Documentation HotXLS

Méthode WriteCells

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