A newer version of this page is available. Switch to the current version.

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

Opens a document specified by a stream.

Namespace: DevExpress.Web.ASPxSpreadsheet

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


public void Open(
    string documentId,
    Func<Stream> contentAccessorByStream
Public Sub Open(
    documentId As String,
    contentAccessorByStream As Func(Of Stream)


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.



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