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

Workbook.LoadDocumentAsync(String) Method

Loads a document asynchronously from a file.

Namespace: DevExpress.Spreadsheet

Assembly: DevExpress.Docs.v19.2.dll

Declaration

public Task<bool> LoadDocumentAsync(
    string fileName
)

Parameters

Name Type Description
fileName String

A string that specifies a file to load (including the full path).

Returns

Type Description
Task<Boolean>

A Task<TResult> object that return true if the document was loaded successfully; otherwise, false.

Remarks

When you use this method to load a document from a file, the Spreadsheet automatically identifies the document’s format based on its content (regardless of filename extension).

If the format detection fails, 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.

Important

Take into account the following when you call this method:

  • The events fired by this method’s call may occur in a different thread than the target operation.

  • The operation is not thread safe (documents should not be accessed simultaneously by different threads). Wait until the operation is completed before working with the document, i.e., use the await operator.

The code sample below shows how to merge two asynchronously loaded workbooks and save the result asynchronously.

private async void MergeWorkbooks()
{
  using (Workbook workbook1 = new Workbook())
  using (Workbook workbook2 = new Workbook())
  {
      await Task.WhenAll(new Task[]
      {
          workbook1.LoadDocumentAsync("book1.xlsx"),
          workbook2.LoadDocumentAsync("book2.xlsx")
      });
      workbook1.Append(workbook2);
      await workbook1.SaveDocumentAsync("merged.xlsx");
  }
}
See Also