Skip to main content
A newer version of this page is available. .

ASPxSpreadsheet.Open(String, Func<Stream>) Method

Opens a document specified by a stream.

Namespace: DevExpress.Web.ASPxSpreadsheet

Assembly: DevExpress.Web.ASPxSpreadsheet.v20.2.dll

NuGet Package: DevExpress.Web.Office

Declaration

public void Open(
    string documentId,
    Func<Stream> contentAccessorByStream
)

Parameters

Name Type Description
documentId String

A string value that uniquely identifies the document to open (the document’s DocumentId).

contentAccessorByStream Func<Stream>

A method delegate to obtain a stream from which to open the document.

Remarks

Note

This overload of the ASPxSpreadsheet.Open method determines a document’s format automatically, but this process reduces the method’s performance. You can accelerate the method’s performance by specifying a document’s format manually using the overload with the DocumentFormat parameter.

This method tries to find the specified document in a list of already opened documents maintained by the DocumentManager. If the document is found, its instance is opened in the Spreadsheet. If the specified document has not been found in the opened documents, a delegate method specified by the contentAccessorByStream parameter is called. It allows you to manually obtain a steam from which to open a document (for instance, to load a document from a database).

private void CustomDocumentOpening() {
    var uniqueDocumentId = GetUniqueDocumentId();

    // Open a document from a stream 
    using (var stream = GetStreamFromCustomDocumentStorage()) {
        ASPxSpreadsheet1.Open(uniqueDocumentId, () => stream);
    }
}

private string GetUniqueDocumentId() {
    throw new NotImplementedException();
    // Obtain a previously saved DocumentId (for instance, from a database, if you have previously saved it there): 
    // return GetDocumentIdFromDatabase(); 
    // or 
    // Create a new unique identifier: 
    // return Guid.NewGuid().ToString(); 
}


private FileStream GetStreamFromCustomDocumentStorage() {
    throw new NotImplementedException();
    // Provide your custom logic to obtain a document (for instance, from a database) 
}
See Also