Workbook.LoadDocument(Stream, DocumentFormat) Method
Loads a document in the specified format 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
NuGet Package: DevExpress.Document.Processor
Declaration
Parameters
Name | Type | Description |
---|---|---|
stream | Stream | The stream from which to load a document. |
format | DocumentFormat | A DocumentFormat enumeration member that specifies the format of the loaded document. |
Returns
Type | Description |
---|---|
Boolean | true, if a document was loaded successfully; otherwise, false. |
Remarks
If you attempt to load a document in an incorrect format, the Workbook.InvalidFormatException event fires. To throw an exception when an invalid document is loaded, set the WorkbookImportOptions.ThrowExceptionOnInvalidDocument property to true (use the Workbook.Options.Import notation to access import options).
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, DocumentFormat.Xlsx);
}
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.
Note
If you use the DocumentFormat.Undefined value as the method’s format parameter, the document’s format is detected automatically.
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.
// ...
}