TExcelFile.LoopOverUsedRange Method
This method loops over a range of cells, and calls an action for every cell that has data.
Syntax
Unit: FlexCel.Core
procedure TExcelFile.LoopOverUsedRange(const aRange: TXlsCellRange; const reader: TProc<TLoopOverUsedRangeParameters>);
Parameters
| <-> | 
Parameter | 
Type | 
Description | 
| const | 
aRange | 
TXlsCellRange | 
Range where we want to extract the cell values. | 
| const | 
reader | 
TProc<TLoopOverUsed​Range​Parameters> | 
Anonymous method that will be called once for each cell with a value inside the range. | 
 
Examples
To fill an array with all the cells in a range, you could use:
function GetRangeAsArray(const xls: TExcelFile; const range: TXlsCellRange): TCellValueArray2;
var
  //We can't capture Result in an anonymous method.
  //So we will use a temporary ResultArray variable.
  ResultArray: TCellValueArray2;
begin
  ResultArray := nil;
  SetLength(ResultArray, range.RowCount, range.ColCount);
  xls.LoopOverUsedRange(range, 
    procedure (x: TLoopOverUsedRangeParameters)
    begin
      ResultArray[x.Row - range.Top, x.Col - range.Left] := x.Value;
    end);
  exit (ResultArray);
end;
See also