Search Results for

    Show / Hide Table of Contents

    TExcelFile.VirtualMode Property

    Set this value to true to turn Virtual Mode on. Look at 'Virtual mode' in the Performance Guide for more information.

    Syntax

    Unit: FlexCel.Core

    property TExcelFile.VirtualMode: Boolean

    Examples

    You can find a full example of Virtual mode in the sample: 10.API\22.Virtual Mode But here we will show a simpler example which reads only the first row of cells from the first sheet and then exits.

    type
    TVirtualCellReader = class
      public
        procedure OnCellRead(const sender: TObject; const e: TVirtualCellReadEventArgs);
    end;
    
    { TVirtualCellReader }
    procedure TVirtualCellReader.OnCellRead(const sender: TObject;
      const e: TVirtualCellReadEventArgs);
    begin
      if (e.Cell.Row > 1) then
      begin
        if e.Cell.Sheet < Length(e.SheetNames) then e.NextSheet := e.SheetNames[e.Cell.Sheet]
        else e.NextSheet := ''; // Stop reading the file.
      end
      else
      begin
        WriteLn('Cell: ', TCellAddress.Create(e.SheetNames[e.Cell.Sheet - 1], e.Cell.Row, e.Cell.Col, false, false).CellRef);
        WriteLn('Value: ', e.Cell.Value.ToString.ToString);
      end;
    end;
    ...
    procedure ReadFirstRowOfAllSheets(const fileName: String);
    var
      xls: TXlsFile;
      CellReader: TVirtualCellReader;
    begin
      xls := TXlsFile.Create;  //Create the object but don't open the file yet.
      try
        CellReader := TVirtualCellReader.Create;  // Create a CellReader to handle reading the cells.
        try
          xls.VirtualMode := true;  //Set the mode to Virtual.
          xls.VirtualCellRead:= CellReader.OnCellRead; //Assign the CellReader to the TXlsFile.
          xls.Open(fileName);
        finally
          CellReader.Free;
        end;
      finally
        xls.Free;
      end;
    end;
    

    See also

    • TExcelFile
    In This Article
    Back to top FlexCel Studio for VCL and FireMonkey v7.24
    © 2002 - 2025 tmssoftware.com