Workbook.LoadDocumentAsync(String) Method
Loads a document asynchronously from a file.
Namespace: DevExpress.Spreadsheet
Assembly: DevExpress.Docs.v19.2.dll
Declaration
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");
}
}