Skip to main content
A newer version of this page is available. .
.NET Framework 4.5.2+
Row

Workbook.LoadDocument(Stream) Method

Loads a document from a stream.

You need a license for the DevExpress Office File API Subscription or DevExpress Universal Subscription to use this method in production code.

Namespace: DevExpress.Spreadsheet

Assembly: DevExpress.Docs.v21.2.dll

Declaration

public bool LoadDocument(
    Stream stream
)

Parameters

Name Type Description
stream Stream

The stream from which to load a document.

Returns

Type Description
Boolean

true, if a document was loaded successfully; otherwise, false.

Remarks

The Spreadsheet uses the built-in IFormatDetectorService service implementation to detect the loaded document’s format. The following formats can be detected:

  • XLSX, XLSB, XLSM, XLTX, XLTM (non-encrypted files only)
  • XLS, XLT
  • CSV, TXT (only if a file is loaded from a FileStream instance).

If format detection fails, the Workbook.InvalidFormatException event fires.

You can pass a non-seekable stream (a stream that does not support the Seek operation, for instance, a NetworkStream) to the LoadDocument method. In this case, the stream is copied to a memory stream to load a document.

Handle the Workbook.DocumentLoaded event to determine when you can safely modify the loaded document.

// Add a reference to the DevExpress.Docs.dll assembly.
using DevExpress.Spreadsheet;
using System.IO;
// ...

Workbook workbook = new Workbook();

// Load a workbook from the stream.
using (FileStream stream = new FileStream("Documents\\Document.xlsx", FileMode.Open)) {
    workbook.LoadDocument(stream);
}

Calculate Formulas in the Loaded Document

The default calculation mode for a Workbook is Manual. This mode implies that the Spreadsheet does not recalculate formulas when you load a document. Call the Workbook.Calculate or Workbook.CalculateFull method to recalculate all formulas in the workbook.

using (Workbook workbook = new Workbook())
{
    // Load a document.
    // ...
    // Calculate formulas in the document.
    workbook.Calculate();
    // ...
}

Change Calculation Mode

Use the Workbook.Options.CalculationMode property to change the calculation mode for a Workbook.

The following calculation modes are available:

  • Manual (default) - Formulas are calculated only on demand (after the Calculate method call). It allows you to improve document generation speed for large workbooks with multiple formulas.

  • UseDocumentSettings - Uses the calculation mode specified in the loaded document (this value is stored in the Workbook.DocumentSettings.Calculation.Mode property).

  • Automatic - Recalculates formulas each time a cell value, formula, or defined name changes.

using (Workbook workbook = new Workbook())
{
    // Change the calculation mode.
    workbook.Options.CalculationMode = WorkbookCalculationMode.UseDocumentSettings;
    // ...
    // Load a document.
    // ...
}
See Also